use*_*915 5 android lockscreen keyguard android-activity
假设我的应用程序运行正常,显示 Activity A。然后用户锁定手机。A 尽职尽责地睡觉 ( onPause())。在屏幕关闭的某个时候,我需要向用户展示一些东西。因此,从我的后台代码(服务)中,我为 B 调用 startActivity,并传递以下标志:
FLAG_ACTIVITY_CLEAR_TOP
FLAG_ACTIVITY_NEW_TASK
Run Code Online (Sandbox Code Playgroud)
在onCreate()B 中,我添加以下窗口标志
FLAG_SHOW_WHEN_LOCKED
FLAG_TURN_SCREEN_ON
FLAG_DISMISS_KEYGUARD
Run Code Online (Sandbox Code Playgroud)
一切正常 - B 现在出现在键盘锁的顶部。
在稍后的某个时间点,我希望解雇 B,因此从 BI call 中dismiss(),它按预期工作。这就是出错的地方:我现在没有返回锁定屏幕,而是在锁定屏幕上运行 A。
当我解雇 B 时,如何阻止操作系统恢复 A?
谢谢。
如果我猜对了,那么 Android 只会显示属于您的应用程序的 Activity 堆栈上的下一个 Activity。我会尝试调用另一个应用程序,例如活动 B 退出时的主屏幕,以便锁屏有望到达前面。
您还可以尝试使用该标志FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS:
如果设置,新活动不会保留在最近启动的活动列表中。
| 归档时间: |
|
| 查看次数: |
1271 次 |
| 最近记录: |