23

当用户处于某些活动中时,有什么方法可以禁用 android 手机的睡眠。

我想在用户处于主要活动时禁用屏幕超时。

有什么办法吗?不知道有没有可能?

4

5 回答 5

45

尝试这个。

 @Override
 protected void onCreate(Bundle icicle) 
 {
     super.onCreate(icicle);
     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
 }
于 2012-11-03T13:21:37.880 回答
7

我正在使用这个:

@Override
protected void onCreate(Bundle icicle) 
{
      super.onCreate(icicle);
      getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

不要忘记将权限放在清单中

<uses-permission android:name="android.permission.WAKE_LOCK" />
于 2014-11-04T03:28:16.447 回答
5

最好的方法只是添加

android:keepScreenOn="true"

到该活动的父布局。

于 2018-07-19T05:12:50.760 回答
3

如果您只想阻止特定 View 的睡眠模式,只需在该 View 上调用setKeepScreenOn(true)或将keepScreenOn属性设置为 true。当视图在屏幕上时,这将防止屏幕关闭。对此无需特别许可。

于 2017-08-31T08:40:59.693 回答
2

You can use the following code to keep screen on in a certain function as :

PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
   //..screen will stay on during this section..
wl.release();

This will get the power service and acquire its attention then release it after your code is done

于 2014-09-22T10:29:06.493 回答