禁用某些活动的睡眠

时间:2012-11-03 13:12:31

标签: android sleep

当用户处于某种活动状态时,有没有办法禁用Android手机的睡眠状态。

我想在用户进行主要活动时禁用屏幕超时。

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

5 个答案:

答案 0 :(得分:35)

试试这个。

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

答案 1 :(得分:4)

我正在使用它:

@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" />

答案 2 :(得分:2)

您可以使用以下代码将屏幕保持在某个功能中:

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();

这将获得电源服务并获得其关注,然后在代码完成后将其释放

答案 3 :(得分:0)

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

答案 4 :(得分:0)

最好的方法就是添加

android:keepScreenOn="true"

该活动的父级布局。