Android開發(fā)教程之電源管理詳解
本文實例講述了Android電源管理。分享給大家供大家參考,具體如下:
一、 相關(guān)概念
1. 出于節(jié)電的需要,一般應(yīng)用在用戶一段時間無操作的情況下屏幕變暗,然后進入休眠狀態(tài)
2. 用戶只能在”設(shè)置->聲音和顯示”中設(shè)置所有應(yīng)用默認(rèn)的屏幕亮度和進行待機的時間
3. 電源管理的實現(xiàn)分內(nèi)核應(yīng)用兩部分,通過下面介紹的接口,我們可以設(shè)置應(yīng)用程序的電源管理,以控制與其休眠相關(guān)的狀態(tài)(是否需要進入休眠,調(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ā)入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
相關(guān)文章
android?studio實現(xiàn)簡單的計算器小功能
這篇文章主要為大家詳細介紹了android?studio實現(xiàn)簡單的計算器小功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
Android學(xué)習(xí)項目之簡易版微信為例(二)
這篇文章主要以簡易版微信為例,實現(xiàn)簡易版微信的登陸、注冊界面的編寫與簡單交互,感興趣的小伙伴們可以參考一下2016-06-06
Android開發(fā)之RadioGroup的簡單使用與監(jiān)聽示例
這篇文章主要介紹了Android開發(fā)之RadioGroup的簡單使用與監(jiān)聽,結(jié)合實例形式分析了Android針對RadioGroup單選按鈕簡單實用技巧,需要的朋友可以參考下2017-07-07
android文件操作——讀取assets和raw文件下的內(nèi)容
本篇文章主要介紹了android文件操作——讀取assets和raw文件下的內(nèi)容,并附簡單實例代碼,需要的朋友可以參考下。2016-10-10
Android應(yīng)用啟動流程之從啟動到可交互的過程解析
這篇文章將給大家總結(jié)學(xué)習(xí)Android 基礎(chǔ)知識,Android應(yīng)用啟動流程,從啟動到可交互的過程解析,在學(xué)習(xí)過程中,大家最好是把源碼下載下來,感興趣的小伙伴跟著小編一起來看看吧2023-08-08
React-Native之Android(6.0及以上)權(quán)限申請詳解
這篇文章主要介紹了React-Native之Android(6.0及以上)權(quán)限申請詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11

