編輯:關於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,那則可以開始進行網絡下載。
static修飾局部變量static修飾局部變量用於修改變量的存儲位置,從自動變量修改為靜態變量(在靜態區開辟空間,不在棧上開辟),但變量的鏈接屬性和作用域不受影響。st
第1節 Activity的使用Activity幾乎是每個應用必有的組件,所以任何安卓應用的開發幾乎都是從Activity開始的。比如,你希望設計一個計算器應用,要呈現這個
谷歌在推出Android5.0的同時推出了全新的設計Material Design,谷歌為了給我們提供更加規范的MD設計風格的控件,在2015年IO大會上推出了Desig
在一些電子商務網站上經常能夠看到一些滾動的廣告條,許多軟件在首次使用時也有類似的廣告條,如圖:其實在github上有實現這種效果的控件,不過這東西做起來也是很簡單,我們今