我在检测到 IncomingCall 时开始使用 Theme.Dialog 的 Activity ;然而,当我开始我的对话 Activity 时,它隐藏了来电屏幕,这不是我想要的行为。我想单独启动该对话 Activity ,以便它出现在来电屏幕的顶部,而不是出现在来电屏幕顶部的整个应用程序。我在 list 中使用了 SingleTask 和 NEW_TASK 标志,并使用了各种上下文。 作为提示,我想做一些类似 TrueCaller Android App 的事情。
最佳答案
您需要确保带有对话框主题的 Activity 与您应用的其余部分具有不同的任务关联性。否则,如果您的应用正在运行,启动该 Activity(即使使用 FLAG_ACTIVITY_NEW_TASK
)只会将现有任务向前推进,并将您的 Activity 置于其之上。
您应该将以下内容添加到此特定 Activity 的 list 中:
android:taskAffinity=""
android:noHistory="true"
android:excludeFromRecents="true"
注意:设置 noHistory
和 excludeFromRecents
可确保此任务不会出现在“最近的任务列表”中。
关于Android 从服务启动 Activity 而不启动应用程序的其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16037183/