本文實例講述了Android編程實現禁止系統鎖屏與解鎖亮屏的方法。分享給大家供大家參考,具體如下:
需求:
某個時刻任務執行完畢,關閉屏幕,某時刻再開啟屏幕繼續執行任務
通常情況下,不設置屏幕常亮,系統會自動鎖屏,鎖屏后不能從代碼解鎖(疑問),所以我的做法是只讓系統關閉屏幕,但不鎖屏!
WakeLock lock, unLock;KeyguardManager km;KeyguardLock kl;
unLock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP | PowerManager.SCREEN_BRIGHT_WAKE_LOCK, "bright");// 得到鍵盤鎖管理器對象km = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);kl = km.newKeyguardLock("unLock");
void lockScreen() { // 鎖屏 kl.reenableKeyguard(); // 釋放wakeLock,關燈 if(unLock.isHeld()) unLock.release();}void unLockScreen() { // 點亮屏幕 if(!unLock.isHeld()) unLock.acquire(); // 解鎖 kl.disableKeyguard();}
測試代碼,調用測試代碼后,你手動按電源鍵鎖屏,5s后你會看到屏幕亮起
{ lockScreen(); getListView().getHandler().postDelayed(new Runnable() { @Override public void run() { unLockScreen(); } }, 5000); break;}
希望本文所述對大家Android程序設計有所幫助。
新聞熱點
疑難解答
圖片精選