admin 管理员组

文章数量: 887021

android 判断锁屏,android

android-检测何时锁定屏幕

请原谅我,这让我发疯了,我会尽力发烧,使自己发疯。

我在这里看到了几篇关于如何检查屏幕是否被锁定的帖子,但是没有一个对我有用。 它全部检测实际屏幕是否关闭(如果屏幕被锁定则不关闭)。

我有一个玩音乐的游戏。 按下锁定按钮后,它将继续播放。 我最初是在OnStop中停止播放音乐,但是锁定后应用程序将重新启动,因此音乐最终将再次启动。

然后,我在清单中添加了KeyboardHidden | orientation。 这样一来,它就不会重新启动应用程序,但是似乎不再调用OnStop。

我试过使用PowerManager来查看屏幕是否打开/关闭,这是可行的,但没有帮助。 (我可以让音乐停止在那儿,但是一旦您再次按下锁定按钮,音乐就会立即开始备份)

Ryan asked 2020-01-15T02:41:05Z

6个解决方案

96 votes

有一个更好的方法:

KeyguardManager myKM = (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE);

if( myKM.inKeyguardRestrictedInputMode()) {

//it is locked

} else {

//it is not locked

}

不需要广播接收,权限或任何类似的东西。

注意:当用户将屏幕锁定设置为“无”时,此功能将无效在设置->安全->屏幕锁定->无

Shaul

本文标签: android 判断锁屏 Android