Android開發教程之電源管理詳解_Android

來源:互聯網
上載者:User

本文執行個體講述了Android電源管理。分享給大家供大家參考,具體如下:

一、 相關概念

1. 出於節電的需要,一般應用在使用者一段時間無操作的情況下螢幕變暗,然後進入休眠狀態

2. 使用者只能在”設定->聲音和顯示”中設定所有應用預設的螢幕亮度和進行待機的時間

3. 電源管理的實現分核心應用兩部分,通過下面介紹的介面,我們可以設定應用程式的電源管理,以控制與其休眠相關的狀態(是否需要進入休眠,調整cpu頻率,鍵盤燈的開關,螢幕的亮暗等)

二、 設定電源管理常用的幾種狀態

PARTIAL_WAKE_LOCK 螢幕關,鍵盤燈關,不休眠
SCREEN_MID_WAKE_LOCK 螢幕灰,鍵盤燈關,不休眠
SCREEN_BRIGHT_WEEK_LOCK 螢幕亮,鍵盤燈關,不休眠
FULL_WAKE_LOCK 螢幕亮,鍵盤燈亮,不休眠

三、 使用電源管理注意事項

1. 可在onCreate時設定該介面的電源管理,在onDestroy時取消設定
2. 可在onResume時設定該介面的電源管理,在onPause時取消設定
3. 注意設定是以Activity為單位,不是以應用為單位
4. 注意在AndroidManifest.xml中聲明該應用有設定電源管理的許可權
5. 注意加鎖解鎖要成對出現
6. 注意多個用途最好用多個鎖,不要一鎖多用,以免出錯
7. 注意對運行在後台和異常時對鎖的處理
8. 注意在網路連接或傳輸時最好加鎖,以免傳輸被中斷
9. 注意加鎖以保證程式邏輯

四、 代碼舉例

1. 源碼修改

1) 引入電源管理包,以使用相關類

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檔案修改

複製代碼 代碼如下:
<uses-permission android:name="android.permission.WAKE_LOCK"/>

PS:更多關於AndroidManifest.xml配置項及其功能可參考本站線上工具:

Android Manifest功能與許可權描述大全:
http://tools.jb51.net/table/AndroidManifest

更多關於Android相關內容感興趣的讀者可查看本站專題:《Android資料庫操作技巧總結》、《Android編程之activity操作技巧總結》、《Android檔案操作技巧匯總》、《Android編程開發之SD卡操作方法匯總》、《Android開發入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結》及《Android控制項用法總結》

希望本文所述對大家Android程式設計有所協助。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.