我想以编程方式disable/delay
锁定屏幕。在研究这个时,KeyguardManager
被折旧/不能一致地工作,FLAG_DISMISS_KEYGUARD
不是一个选项,因为我想在后台执行此操作,我不想出于电池原因使用WakeLock,设备管理似乎不具备此功能,并且虽然SCREEN_OFF_TIMEOUT
可用于控制屏幕何时休眠,但我无法找到屏幕锁定的类似超时。
我在这里缺少什么?感谢。
答案 0 :(得分:13)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
此外,这不需要清单中的任何权限。
答案 1 :(得分:3)
@nandeesh 的答案正在运行,但已弃用,以禁用锁定屏幕使用标记:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
答案 2 :(得分:2)
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
添加
<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
您可以使用此功能禁用键盘锁。