如何禁用键盘保护和显示给用户的活动时SCREEN_ON的接收器被触发?

StackOverflow https://stackoverflow.com/questions/4234156

  •  26-09-2019
  •  | 
  •  

如何可以禁用键盘锁当广播接收器由screen_on激活,以使得当它发生时,用户看到,我已背后开始活动? (活动已在运行...)

我已经从通过屏幕关闭...

触发的广播接收器试图将下面的代码
KeyguardManager  myKeyGuard = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
myLock = myKeyGuard.newKeyguardLock();
myLock.disableKeyguard();

这似乎并不奏效,虽然,因为它是。当打开在屏幕上,我仍然必须手动解锁电话上的键盘锁以显示其背后的活性。

有帮助吗?

解决方案 2

我想我想通了,我做错了什么。现在看来似乎使用DISABLE_KEYGUARD许可时,只是在我的清单标签错误。它现在是正常工作,我纠正清单。

其他提示

我会建议使用dismiss_keyguard或show_when_locked窗口标志,如果你有一个窗口,需要在唤醒锁屏右侧顶过来。

http://developer.android.com/reference/android/view/WindowManager .LayoutParams.html#FLAG_SHOW_WHEN_LOCKED

如何使用此如下(称为设定的onCreate布局之前)

getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);

我没有看到的键盘保护解决方案的工作(和它已经过时了)。什么工作对我来说是抢您永久PARTIAL_WAKE_LOCK,我从来没有释放。这防止真正入睡并且因此设备避免锁屏每一个存在激活。

然后每次屏幕关断,我侦听该通知和唤醒设备备份。它适用于所有我已经在测试中的设备。

我知道这会非常快杀器的电池,所以,你必须非常谨慎和用心使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top