Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器
生活随笔
收集整理的這篇文章主要介紹了
Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
原文地址:http://android.xsoftlab.net/training/monitoring-device-state/manifest-receivers.html
監測設備狀態變化最簡單的實現方式就是為每種狀態都創建一個廣播接收器,然后只需在相應的廣播接收器內依據當前的設備狀態重新執行各自的任務即可。
這種方式的不好之處就在于每次廣播接收器被觸發后,APP都會喚醒設備。
一種比較好的解決方案就是在運行時關閉或開啟廣播接收器。這樣也可以使在清單文件中聲明的廣播接收器按需觸發。
動態開啟廣播接收器
我們可以通過PackageManager將清單文件中聲明過的任何組件切換到開啟\關閉狀態,其中也包括你將要開啟或者關閉的廣播接收器:
ComponentName receiver = new ComponentName(context, myReceiver.class); PackageManager pm = context.getPackageManager(); pm.setComponentEnabledSetting(receiver,PackageManager.COMPONENT_ENABLED_STATE_ENABLED,PackageManager.DONT_KILL_APP)通過使用這種方法,如果發現網絡連接已經斷開,那么就可以關閉所有的相關廣播接收器,除了監聽連接變化的廣播接收器之外。反之,一旦連接到網絡,那么則應當停止網絡變化的監聽:只需要在執行網絡任務之前,檢查一下是否有網絡連接即可。
你也可以使用這種方式推遲那種需要超大帶寬的網絡任務。只需要監聽一下網絡連接的變化即可,一旦連接到Wi-Fi,那則可以開始進行網絡下載。
總結
以上是生活随笔為你收集整理的Android官方开发文档Training系列课程中文版:电池续航时间优化之按需开启广播接收器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【LeetCode】4月4日打卡-Day
- 下一篇: 模拟退火算法求解TSP问题