定時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 機制默認關閉
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章