Android屏幕保持喚醒狀態


我們程序偶爾會有需要屏幕一直或較長時間的保持喚醒狀態,而用戶的睡眠時間又設置的比較短。這時可能會對程序以及用戶的使用造成一定的影響。在Android中有兩種方法,可以讓我們在我們需要保持喚醒的頁面長時間保持喚醒狀態

1.Android的電源管理里面提供了“喚醒鎖”,它允許我們的設備屏幕能在一定的時間內或一直保持喚醒狀態!如下為其簡單使用步驟:

  申請喚醒鎖使用權限

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

  獲取電源管理對象

1 PowerManager powerManager = (PowerManager)this.getSystemService(this.POWER_SERVICE); 

  獲取喚醒鎖對象

1 WakeLock wakeLock = this.powerManager.newWakeLock(PowerManager.FULL_WAKE_LOCK, "My Lock"); 

  請求喚醒鎖

1 protected void onResume() {
2          super.onResume();
3          //一直處於喚醒狀態,  除非使用release釋放喚醒鎖
4          wakeLock.acquire();
5          //喚醒給定時間
6          wakeLock.acquire(long timeout);
7      }

  釋放喚醒鎖

1 protected void onPause() {  
2         super.onPause();  
3         wakeLock.release();  
4 }  

如果使用了acquire的方式,除非是用戶將程序退出,或是手動按電源鍵關閉屏幕,否則屏幕將處一直處於喚醒狀態。

2.使用窗口管理器提供的屏幕保持喚醒的方式

1 protected void onCreate(Bundle icicle) {
2     super.onCreate(icicle);  
3     // 設置標志以使此Activity處於喚醒狀態
4     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
5     setContentView();
6  } 

此種方式的好處是不用擔心釋放的問題,頁面退出了,就自動解除了喚醒狀態,進入到正常的模式中

 


免責聲明!

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



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