Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android進階:保持android手機屏幕燈持續高亮 以及鍵盤燈高亮

Android進階:保持android手機屏幕燈持續高亮 以及鍵盤燈高亮

編輯:Android開發實例

最近研究音頻播放 看到 AsyncPlayer 這個類的實現 確實裡面做的細節挺值得學習

 

那首先大概看下這個類吧 這個類實現了音頻異步播放的功能

 

把音頻信息封裝稱Conmmad

  1. private static final class Command {  
  2.         int code;  
  3.         Context context;  
  4.         Uri uri;  
  5.         boolean looping;  
  6.         int stream;  
  7.         long requestTime;  
  8.         public String toString() {  
  9.             return "{ code=" + code + " looping=" + looping + " stream=" + stream  
  10.                     + " uri=" + uri + " }";  
  11.         }  
  12.     } 

將所有的音頻信息存放入隊列中

  1. private LinkedList<Command> mCmdQueue = new LinkedList(); 

那麼播放的功能就交給另外一個線程吧

 

接著進入主題看看怎麼實現屏幕高亮的

 

PowerManager PowerManager.WakeLock 這個類

 

PowerManager:This class gives you control of the power state of the device.

PowerManager.WakeLock: lets you say that you need to have the device on.

 

android通過lock鎖對電源進行控制 來看兩個方法

 

  1. private void acquireWakeLock() {  
  2.         if (mWakeLock != null) {  
  3.             mWakeLock.acquire();  
  4.         }  
  5.     }  
  6.     private void releaseWakeLock() {  
  7.         if (mWakeLock != null) {  
  8.             mWakeLock.release();  
  9.         }  
  10.     } 

 

這樣就可以實現對電源的控制了。。so簡單

 

這之前還需要做一些初始化工作

 

  1. PowerManager pm = (PowerManager)context.getSystemService(Context.POWER_SERVICE);  
  2.         mWakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, mTag); 

 

newWakeLock 方法就倆參數,後面一個就是日志的TAG了。。前面一個才是主要的  可以設置本Activity的亮度級別

 

 

 

int flags
 

各種鎖的類型對CPU 、屏幕、鍵盤的影響:

PARTIAL_WAKE_LOCK :保持CPU 運轉,屏幕和鍵盤燈有可能是關閉的。

SCREEN_DIM_WAKE_LOCK :保持CPU 運轉,允許保持屏幕顯示但有可能是灰的,允許關閉鍵盤燈

SCREEN_BRIGHT_WAKE_LOCK :保持CPU 運轉,允許保持屏幕高亮顯示,允許關閉鍵盤燈

FULL_WAKE_LOCK :保持CPU 運轉,保持屏幕高亮顯示,鍵盤燈也保持亮度

 

這個操作還要加權限的

  1. <uses-permission android:name="android.permission.WAKE_LOCK" /> 
  2. <uses-permission android:name="android.permission.DEVICE_POWER" /> 

 

這就OK了!!!!

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