Android 优化电池使用时间——根据需要操作广播接收器
生活随笔
收集整理的這篇文章主要介紹了
Android 优化电池使用时间——根据需要操作广播接收器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文參見此處
根據需要操作廣播接收器
監(jiān)控設備狀態(tài)變化的最簡單方法就是,為您監(jiān)控的每種狀態(tài)創(chuàng)建 BroadcastReceiver 并在應用清單中逐一進行注冊。然后,您只需根據當前設備狀態(tài)在每個接收器中重新安排重復提醒即可。
此方法的負面影響在于,只要系統(tǒng)觸發(fā)了這些接收器中的任何一個,相關應用就會喚醒設備,其頻率可能會遠遠超過所需的水平。
更好的方法是在運行時停用或啟用廣播接收器。這樣的話,您就可以將自己在清單中聲明的接收器用作被動提醒,只有在需要時才會由系統(tǒng)事件觸發(fā)。
切換和層疊狀態(tài)變化接收器以提高效率
您可以使用 PackageManager 切換清單中定義的任意組件的啟用狀態(tài)(包括您要啟用或停用的任意廣播接收器),具體如以下片段所示:
ComponentName receiver = new ComponentName(context, myReceiver.class);PackageManager pm = context.getPackageManager();pm.setComponentEnabledSetting(receiver,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP)在使用此技巧時,如果您確定連接已斷開,就可以停用除連接變化接收器外的所有接收器。相反,成功連接后,您就可以停止偵聽連接變化,同時只需在執(zhí)行更新和重新安排重復更新提醒前查看是否在線即可。
您可以使用同樣的方法來延遲需要較高帶寬的下載任務。只有在連接 Wi-Fi 后,您才能直接啟用用于偵聽連接變化和啟動下載任務的廣播接收器。
總結
以上是生活随笔為你收集整理的Android 优化电池使用时间——根据需要操作广播接收器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android 优化电池使用时间——确定
- 下一篇: Android IntentServic