【发布时间】:2015-06-29 06:34:04
【问题描述】:
当收到 android.intent.action.BOOT_COMPLETED 广播时,我的应用程序有一个由 BroadcastReceiver 启动的活动。
活动应在 Keyguard(安全)上全屏显示。 Activity 使用 Theme.NoTitleBar.Fullscreen 主题,在应用程序清单和 WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED 中设置以将 Keyguard 放在后面。
我并不想以任何方式替换或禁用键盘保护。该活动应该只显示有关设备的一些诊断信息,并且在用户关闭它之前应该保持活动状态。
因此,设备启动时,通常会出现键盘保护,并且几秒钟后的活动也会启动。活动在没有标题栏的全屏模式下很好地显示在键盘保护上。这一切在我的索尼和三星测试设备上运行良好。
今天我在 LG G2 设备 (Android 4.4.2) 上测试该应用,发现一个奇怪的问题。问题是全屏活动被解除(暂停)并再次启动键盘保护。
我花了半天时间浏览代码并试图找出导致这种行为的原因。最后我注意到每次标题栏中显示系统通知时我的活动都会被取消。在我的情况下,通知是“电池已满”和“拔下电源以节省电池”。我没有机会测试,但其他通知可能也会发生同样的情况。
有没有办法抑制系统通知或忽略,这样全屏活动就不会暂停?
【问题讨论】: