我在我的应用程序中实现了警报功能,该功能使用以下代码在锁定屏幕上显示“解除停止”启动画面:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final Window win = getWindow();
win.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
}
一切正常,但我的应用程序还使用模式(from this repo)来显示某些内容,从而产生以下问题: 如果在应用程序打开时锁定屏幕,然后解锁它并尝试选择使用模式的按钮-整个屏幕开始闪烁,而我唯一能做的就是再次锁定屏幕。
虽然我删除了上面的代码形式,但模式运行良好,但是无法在锁定屏幕上显示启动画面。
有人知道吗?
顺便说一句。来自React Native的原始模式会导致同样的闪烁问题。
更新:看来FLAG_DISMISS_KEYGUARD
是对此负责的原因。没有它,它似乎可以工作,但是必须使用密码解锁屏幕。有解决方法吗?