android - Dialog Activity 还会在后台恢复其他 Activity

标签 android android-activity

场景是这样的。我的应用程序中有 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/

相关文章:

java - 运行任何新的 Android 项目时出现问题 - 未找到默认 Activity/无效的 Java 包

android - 通知对方通话将被录音

安卓。 fragment getActivity() 有时返回 null

android - 当组在可扩展 ListView 中没有子项时隐藏组的指示器?

android - 从自定义首选项中获取 Activity 对象

android - 如何在android中显示从上到下的渐变效果

Android onActivityResult 提前调用

Android Junit 测试 Button 已经开始 Activity

android - 自定义对话框和 Activity 之间有什么区别,因为对话框意味着 "Theme.Dialog"?

java - GetSerializableExtra 返回 null