来自服务的Android Start Activity,无需启动应用程序的其他活动

时间:2013-04-16 12:33:35

标签: android android-activity start-activity launchmode

我正在检测IncomingCall上的Theme.Dialog开始活动;但是,当我开始我的对话活动时,它隐藏了来电屏幕,这不是我想要的行为。我想单独启动该对话框活动,使其显示在来电屏幕的顶部而不是来电屏幕上方的整个应用程序。我使用了Manifest中的SingleTask和NEW_TASK标志,并使用了各种上下文。 作为提示,我想做一些像TrueCaller Android App。

2 个答案:

答案 0 :(得分:4)

您需要确保具有Dialog主题的活动具有与应用程序其余部分不同的任务关联。否则,如果您的应用程序正在运行,启动该活动(即使使用FLAG_ACTIVITY_NEW_TASK)也只会将现有任务转发并将您的活动置于其上。

您应该将以下内容添加到此特定活动的清单中:

android:taskAffinity=""
android:noHistory="true"
android:excludeFromRecents="true"

注意:设置noHistoryexcludeFromRecents可确保此任务不会显示在“最近的任务列表”中。

答案 1 :(得分:0)

使用android:launchMode="singleInstance"