定时Google省电开发

1. 定时开启Google省电基本功能:

  1. 开关默认关闭,时间设置应置灰
  2. 开关开启时,默认为每天23:00~7:00开启省电模式,支持用户自定义修改
  3. 时间选择器支持12/24小时制
  4. 定时时间精度为:秒

2. 注意事项:

  1. 定时时间段内,充电时,会自动退出省电模式,拔掉恢复省电模式
  2. 定时时间段内,开机时,会恢复省电模式
  3. 定时中不能出现类似闹钟中有消息通知的存在
  4. 开始时间和结束时间设置一样时,需要弹Toast提示输入不合理
  5. 用户主动关闭省电模式,则需要等待下一次定时时间到来才会开启

3.技术点:

  1. 解决定时精度偏差
  • 因系统不支持重复闹钟,故需使用 AlarmManager.setExact,并每次Alarm触发,再重新设置
  1. 解决后台服务开启定时,会产生类似闹钟效果的通知栏小图标
  • 将后台Service的定时逻辑,搬到SystemServer服务或定义一个persist服务
  1. 解决后台服务长时间运行下,会被系统拦截定时事件
  • 避免自身服务adj下滑,导致拦截机制触发
  1. 解决电量90%以上,定时开启省电模式,系统会强制关闭省电模式,并显示不需要开启消息通知
  • 设置 LOW_POWER_MODE_STICKY 机制默认开启
  • 设置 LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED 机制默认关闭
  1. 解决电量90%以上,系统阻止定时开启省电模式
  • 设置 LOW_POWER_MODE_STICKY 机制默认开启
  • 设置 LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED 机制默认关闭
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章