以编程方式禁用/延迟Android锁定屏幕

Bin*_*ink 8 android

我想以disable/delay编程方式锁定屏幕.在调查这个,KeyguardManager折旧/不一致,FLAG_DISMISS_KEYGUARD不是一个选项,因为我想在后台执行此操作,我不想因为电池原因使用WakeLock,设备管理似乎没有能力并且,虽然SCREEN_OFF_TIMEOUT可以控制屏幕何时休眠,但我无法找到屏幕锁定的类似超时.

我在这里错过了什么?谢谢.

Swa*_*ale 13

尝试这个,只要活动在顶部,它就会保持唤醒屏幕/显示. getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

此外,这不需要清单中的任何权限.


nan*_*esh 2

你尝试过这个吗?

KeyguardManager keyguardManager = (KeyguardManager)getSystemService(Activity.KEYGUARD_SERVICE);
KeyguardLock lock = keyguardManager.newKeyguardLock(KEYGUARD_SERVICE);
lock.disableKeyguard();
Run Code Online (Sandbox Code Playgroud)

添加

<uses-permission android:name="android.permission.DISABLE_KEYGUARD"/>
Run Code Online (Sandbox Code Playgroud)

您可以使用它禁用键盘保护。