2013-07-18 42 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

甜蜜的交易。我会试试这个。多谢你们 –