场景是这样的。我的应用程序中有 2 个 Activity 和一个对话框 Activity ,当我单击我的应用程序创建的通知时启动该 Activity 。 问题是当我点击通知时,只有对话框应该显示,而不是我的应用程序的其他 Activity ,如果它是在按下主页按钮时停止的话。
当我按下后退按钮关闭我的应用程序时,对话框 Activity 会显示对话框,但当应用程序在后台运行时,该 Activity 也会在创建对话框 Activity 时打开。
我使用 @android:style/Theme.Dialog
作为我的对话 Activity 。
如何只显示对话框 Activity ,而不显示背景中的其他 Activity ?
最佳答案
OP 问题的解决方案是在 list 中为该 Activity 设置不同的任务关联。
<activity android:name="MyIndependentActivity"
android:theme="@android:style/Theme.Dialog"
android:taskAffinity="a_unique_id">
taskAffinity 字符串必须不同于程序包名称 (com.whatever.myapp)
我还使用 android:excludeFromRecents="true",从最近的应用程序列表中隐藏对话框,因为返回对话框通常没有意义。
更多信息:http://developer.android.com/guide/components/tasks-and-back-stack.html#Affinities
关于android - Dialog Activity 还会在后台恢复其他 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11685210/