有没有办法检测用户何时解锁手机?我知道ACTION_SCREEN_ON并且ACTION_SCREEN_OFF,但是当按下电源按钮时屏幕打开/关闭时这些似乎被触发,但实际上当按下菜单按钮时电话解锁时实际上没有...
我正在尝试在活动运行时检测解锁/锁定,并且我想在解锁后恢复活动.
原谅我,这让我疯了,我会尝试通过我的愤怒发布一些易读的东西.
我在这里看到了几个关于如何检查屏幕是否被锁定的帖子,但没有一个对我有效.它都会检测实际屏幕是否关闭(如果它已锁定).
我有一个音乐播放的游戏.按下锁定按钮后,它将继续播放.我最初在OnStop上停止了音乐,但应用程序会在锁定后重新启动,因此音乐最终会再次启动.
然后,我在清单中添加了KeyboardHidden | orientation.这使得它不会重新启动应用程序,但OnStop似乎不再被调用.
我已经尝试使用PowerManager查看屏幕是否打开/关闭,这有效,但没有帮助.(我可以让音乐停在那里,但只要再次按下锁定按钮,音乐就会立即启动)
我希望能够检测到手机锁定事件.当我的应用程序运行时,如果我按下红色按钮(呼叫结束按钮/电源按钮),手机将被锁定并且屏幕变为空白.我希望能够检测到这个事件,是否可能?
我想检测我的应用程序何时发送到后台.关于挂钩HOME键有很多问题 - 我知道这只有通过注册为启动器应用程序才有可能.
......但是......总是有一个客户想要某些行为......
我们有一个具有高安全性要求的应用.无论出于何种原因,客户希望应用程序在应用程序进入后台时退出服务器(电话,HOME键,最后一次活动)(**澄清我的意思是当屏幕上的前台活动不是我的应用程序之一**).
那么,如果我无法挂钩HOME键,还有其他选择吗?显然只是挂钩onPause()无济于事,因为那是Activity特定的.
我们提出的"最佳"是在Application类中保留一组Activity引用.在每个Activity中,onResume()我们将它添加到此数组中.在onPause()我们删除它.此外,onPause()我们通过此数组枚举,以查明是否有任何已注册的活动在前台.如果未找到前台活动,则用户将被注销.
我不满意这个解决方案,并希望找到更好的方法.
我发现两年前的帖子说有人无法做到。我还发现可以使用ACTION_USER_PRESENT来检测用户何时解锁屏幕,但是可以检测到用户何时打开屏幕(通过任何操作)?
编辑:我想知道用户何时按下任何按钮或执行其他可以打开屏幕的操作
如何检查屏幕是否已解锁(Ei打开而不是锁定屏幕)?
PS.我不是在寻找解锁事件,我知道可以使用AdminDeviceReceiver检索它,但我正在寻找一个可执行代码,它将返回一个布尔值,告诉我屏幕是否已解锁.