我正在检测IncomingCall上的Theme.Dialog开始活动;但是,当我开始我的对话活动时,它隐藏了来电屏幕,这不是我想要的行为。我想单独启动该对话框活动,使其显示在来电屏幕的顶部而不是来电屏幕上方的整个应用程序。我使用了Manifest中的SingleTask和NEW_TASK标志,并使用了各种上下文。 作为提示,我想做一些像TrueCaller Android App。
答案 0 :(得分:4)
您需要确保具有Dialog主题的活动具有与应用程序其余部分不同的任务关联。否则,如果您的应用程序正在运行,启动该活动(即使使用FLAG_ACTIVITY_NEW_TASK
)也只会将现有任务转发并将您的活动置于其上。
您应该将以下内容添加到此特定活动的清单中:
android:taskAffinity=""
android:noHistory="true"
android:excludeFromRecents="true"
注意:设置noHistory
和excludeFromRecents
可确保此任务不会显示在“最近的任务列表”中。
答案 1 :(得分:0)
使用android:launchMode="singleInstance"