Android點亮屏幕


本文僅在Android4.0測試過,其余平台未知是否可行。

最近在寫一個應用,想實現類似鬧鍾提醒界面,在網上找了關於Android屏幕點亮的文章,網上關於點亮的代碼如下:

 
         
PowerManager pm=(PowerManager) getSystemService(Context.POWER_SERVICE);
                //獲取電源管理器對象
                PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_DIM_WAKE_LOCK, "bright");
                //獲取PowerManager.WakeLock對象,后面的參數|表示同時傳入兩個值,最后的是LogCat里用的Tag
                wl.acquire();
                //點亮屏幕
 
                KeyguardManager  km= (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
                //得到鍵盤鎖管理器對象
                KeyguardLock kl = km.newKeyguardLock("unLock");  
                //參數是LogCat里用的Tag
                kl.disableKeyguard(); 
                //解鎖
 
                
 
                kl.reenableKeyguard();
                //重新啟用自動加鎖
                wl.release();
                //釋放

 

PowerManager需要的權限
<uses-permission android:name="android.permission.WAKE_LOCK" /> <uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
 
但是把這些代碼打進去后發現Android已經不推薦用KeyguardLock,Android api推薦調用Activity的addFlags方法設置WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED屬性,這種方法好處有:不需要其他權限,二,當你應用程序所有Activity finish后,不需要重新啟動自動加鎖。
最后Android 點亮屏幕最重要一點:PowerManager.WakeLock使用完成后,必須release()。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM