假设我的应用程序运行正常,显示 Activity A。然后用户锁定手机。A 尽职尽责地睡觉 ( onPause()
)。在屏幕关闭的某个时候,我需要向用户展示一些东西。因此,从我的后台代码(服务)中,我为 B 调用 startActivity,并传递以下标志:
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_NEW_TASK
在onCreate()
B 中,我添加了以下窗口标志
FLAG_SHOW_WHEN_LOCKED
FLAG_TURN_SCREEN_ON
FLAG_DISMISS_KEYGUARD
一切正常 - B 现在出现在键盘保护的顶部。
稍后,我希望解雇 B,因此在 BI calldismiss()
中,按预期工作。这就是问题所在:我现在没有返回锁定屏幕,而是在锁定屏幕顶部运行了 A。
当我解雇 B 时,如何阻止操作系统恢复 A?
谢谢。