2013-07-18 173 views
-1

我需要添加哪些代碼才能在我的應用中添加某項活動,以便覆蓋用戶手機的睡眠設置。我希望屏幕在特定活動期間無法關閉。覆蓋屏幕睡眠

+0

見http://stackoverflow.com/questions/3723634/how-do-i-prevent-an-android-device-從程序到編程 – Jonik

回答

0

我建議你使用WakeLock。

像這樣:

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); 
    PowerManager.WakeLock wl = pm.newWakeLock(
      PowerManager.PARTIAL_WAKE_LOCK, 
      "Screenlock active"); 

然後使用:

wl.acquire(); 
wl.release(); 
0
getWindow().addFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

強制始終在屏幕上,並

getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 

回到默認行爲。

0

如果通過「某個活動」,您的意思是「當某個Activity處於前臺」時,最簡單的方法是將android:keepScreenOn="true"添加到該活動的佈局中的某個小部件。只要該小部件可見,屏幕就不會關閉。這適用於視頻播放器等。迄今爲止貢獻的其他答案中的FLAG_KEEP_SCREEN_ON方法做了同樣的事情,更多的打字。 :-)

+0

甜蜜的交易。我會試試這個。多謝你們 –