从服务中禁用Android键盘锁

时间:2012-10-18 12:12:31

标签: android service dismiss keyguard

我想实现一项服务,在连接到某个WiFi网络时禁用键盘锁,并在断开连接时恢复键盘锁。

在我的Galaxy Nexus(CM10)和HTC Desire(MIUI)上,我尝试了以下解决方案,但没有一个效果很好:

  • 尝试使用服务内部的disableKeyguard()和reenableKeyguard()。问题是它首先禁用了键盘锁,但是当我打开另一个应用程序并按回家时,我突然得到了键盘锁。在那之后,它根本不起作用。此外,这些功能已被弃用。
  • 我构建了一个新活动,我使用new_task标志从服务内部开始。我给了它下面的一个动作:showkeyguard和hidekeyguard。因此我使用getWindow()。addFlags()来设置FLAG_DISMISS_KEYGUARD或FLAG_SHOW_WHEN_LOCKED。问题是活动出现并且必须保持可见。

有人可以建议从服务中执行此操作的方法吗?如果第一个解决方案是从服务中执行此操作的唯一方法,那么我不介意弃用的东西。我想知道的是为什么它的表现如此?

感谢。

1 个答案:

答案 0 :(得分:0)

您是否在服务启动时尝试了disblekeyguard,在服务销毁时启用了keyguard