Android開發(fā)教程之電源管理詳解
本文實例講述了Android電源管理。分享給大家供大家參考,具體如下:
一、 相關(guān)概念
1. 出于節(jié)電的需要,一般應(yīng)用在用戶一段時間無操作的情況下屏幕變暗,然后進(jìn)入休眠狀態(tài)
2. 用戶只能在”設(shè)置->聲音和顯示”中設(shè)置所有應(yīng)用默認(rèn)的屏幕亮度和進(jìn)行待機(jī)的時間
3. 電源管理的實現(xiàn)分內(nèi)核應(yīng)用兩部分,通過下面介紹的接口,我們可以設(shè)置應(yīng)用程序的電源管理,以控制與其休眠相關(guān)的狀態(tài)(是否需要進(jìn)入休眠,調(diào)整cpu頻率,鍵盤燈的開關(guān),屏幕的亮暗等)
二、 設(shè)置電源管理常用的幾種狀態(tài)
PARTIAL_WAKE_LOCK 屏幕關(guān),鍵盤燈關(guān),不休眠
SCREEN_MID_WAKE_LOCK 屏幕灰,鍵盤燈關(guān),不休眠
SCREEN_BRIGHT_WEEK_LOCK 屏幕亮,鍵盤燈關(guān),不休眠
FULL_WAKE_LOCK 屏幕亮,鍵盤燈亮,不休眠
三、 使用電源管理注意事項
1. 可在onCreate時設(shè)置該界面的電源管理,在onDestroy時取消設(shè)置
2. 可在onResume時設(shè)置該界面的電源管理,在onPause時取消設(shè)置
3. 注意設(shè)置是以Activity為單位,不是以應(yīng)用為單位
4. 注意在AndroidManifest.xml中聲明該應(yīng)用有設(shè)置電源管理的權(quán)限
5. 注意加鎖解鎖要成對出現(xiàn)
6. 注意多個用途最好用多個鎖,不要一鎖多用,以免出錯
7. 注意對運行在后臺和異常時對鎖的處理
8. 注意在網(wǎng)絡(luò)連接或傳輸時最好加鎖,以免傳輸被中斷
9. 注意加鎖以保證程序邏輯
四、 代碼舉例
1. 源碼修改
1) 引入電源管理包,以使用相關(guān)類
import Android.os.PowerManager;
2) 類中加入變量
PowerManager.WakeLock mWakeLock;
3) 修改onCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PowerManager pm =(PowerManager)getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "XYTEST");
mWakeLock.acquire();
}
4) 修改onDestroy
public void onDestroy()
{
super.onDestroy();
mWakeLock.release();
}
2. AndroidManifest.xml文件修改
PS:更多關(guān)于AndroidManifest.xml配置項及其功能可參考本站在線工具:
Android Manifest功能與權(quán)限描述大全:
http://tools.jb51.net/table/AndroidManifest
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android編程開發(fā)之SD卡操作方法匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
Android編程實現(xiàn)AIDL(跨進(jìn)程通信)的方法詳解
這篇文章主要介紹了Android編程實現(xiàn)AIDL(跨進(jìn)程通信)的方法,結(jié)合實例形式詳細(xì)分析了Android實現(xiàn)AIDL(跨進(jìn)程通信)的原理、具體流程與相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2016-06-06
Android中buildToolVersion與CompileSdkVersion的區(qū)別
今天小編就為大家分享一篇關(guān)于Android中buildToolVersion與CompileSdkVersion的區(qū)別,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-12-12
Android Studio 3.1.X中導(dǎo)入項目的正確方法分享
這篇文章主要給大家介紹了關(guān)于Android Studio 3.1.X中導(dǎo)入項目的正確方法,文中一步步將解決的方法以及可能遇到的問題介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-07-07
Android使用第三方服務(wù)器Bmob實現(xiàn)發(fā)送短信驗證碼
這篇文章主要介紹了Android使用第三方服務(wù)器Bmob實現(xiàn)發(fā)送短信驗證碼的思路詳解,需要的朋友可以參考下2016-09-09
Android IPC機(jī)制Messenger實例詳解
這篇文章主要介紹了 Android IPC機(jī)制Messenger實例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07

