当用户处于某种活动状态时,有没有办法禁用Android手机的睡眠状态。
我想在用户进行主要活动时禁用屏幕超时。
有什么办法吗?不知道是否可能?
答案 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"
该活动的父级布局。