原谅我,这让我疯了,我会尝试通过我的愤怒发布一些易读的东西.
我在这里看到了几个关于如何检查屏幕是否被锁定的帖子,但没有一个对我有效.它都会检测实际屏幕是否关闭(如果它已锁定).
我有一个音乐播放的游戏.按下锁定按钮后,它将继续播放.我最初在OnStop上停止了音乐,但应用程序会在锁定后重新启动,因此音乐最终会再次启动.
然后,我在清单中添加了KeyboardHidden | orientation.这使得它不会重新启动应用程序,但OnStop似乎不再被调用.
我已经尝试使用PowerManager查看屏幕是否打开/关闭,这有效,但没有帮助.(我可以让音乐停在那里,但只要再次按下锁定按钮,音乐就会立即启动)
对于我的应用程序,我需要知道屏幕已被锁定.如何检查这是有问题的.我使用了以下标志:
if(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON != 0){
// some code
}else if((WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED)!= 0){
// some code
}
Run Code Online (Sandbox Code Playgroud)
但这总是执行if和else部分...我必须使用哪个标志来检查屏幕是否被锁定?
我有一个简单的服务,在后台运行,我只是想知道用户何时在锁定屏幕上,这样我知道何时开始一个过程.