Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android官方開發文檔Training系列課程中文版:電池續航時間優化之按需開啟廣播接收器

Android官方開發文檔Training系列課程中文版:電池續航時間優化之按需開啟廣播接收器

編輯:關於Android編程

原文地址: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,那則可以開始進行網絡下載。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved