我有个带闹钟的应用。当告警触发时,app加载如下代码:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1) {
setShowWhenLocked(true);
setTurnScreenOn(true);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
} else {
getWindow().addFlags( WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_ALLOW_LOCK_WHILE_SCREEN_ON);
}
但我想在退出我的应用程序后删除储物柜屏幕。如果是一个非安全的keyguard工作得很好,但在退出应用程序后使用安全的keyguard,我必须插入keyguard模式。有没有办法删除安全的键盘守卫,或者这段代码只适用于非安全的键盘守卫?我正在三星Galaxy的android派上进行测试。
发布于 2020-05-18 09:51:49
你只能请求解除,但如果它是安全的,它会要求用户解锁它。此外,我们不应该被允许这样做(它可以作为一个漏洞,想象一下,一个小偷开发人员创建了一个具有位置权限的应用程序和您正在寻找的功能。他跟踪使用该应用程序的受害者,并可以通过该应用程序解锁他们的手机,并做他想做的任何事情)。你也可以使用KeyguardManager.requestDismissKeyguard()
来实现你现在所面临的同样的事情(只是更标准一点)
https://stackoverflow.com/questions/60654295
复制相似问题