如何在通知的后台打开父活动的对话活动

时间:2014-07-08 13:39:05

标签: android android-intent android-activity android-dialog

我想实现与此问题相反的事情:Dialog Activity also resumes other activities in the background

我以这种方式在AndroidManifest.xml文件中定义了一个对话活动:

<activity
    android:name="com.myapp.activity.CloudMessageDialogActivity"
    android:parentActivityName="com.myapp.activity.MyParentActivity"
    android:excludeFromRecents="true"
    android:theme="@android:style/Theme.Holo.Light.Dialog.NoActionBar">
</activity>

我想通过对话活动在后台恢复我的父活动。用户从操作栏中的通知打开我的对话活动。

这一刻我有两个场景:

  1. 当我的应用在后台运行时。从操作栏中选择通知将打开对话框活动,其中父活动在后台运行。

  2. 当我的应用未在后台运行时。只会打开对话框活动。

  3. 这是否可以打开对话活动,父活动始终在后台运行?当然没有将对话框活动切换到对话框片段。

1 个答案:

答案 0 :(得分:1)

与您的通知相关联的 PendingIntent 应该启动您的活动,而不是直接启动对话框。 在此意图中添加Extra以检测它是否应该打开对话框。

然后在您的活动的onResume方法中,阅读额外的(getIntent.getExtra()...),如果应该,请在那里打开对话框。

因此,在每种情况下,您的活动都将在显示对话框之前恢复。