我想实现与此问题相反的事情: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>
我想通过对话活动在后台恢复我的父活动。用户从操作栏中的通知打开我的对话活动。
这一刻我有两个场景:
当我的应用在后台运行时。从操作栏中选择通知将打开对话框活动,其中父活动在后台运行。
当我的应用未在后台运行时。只会打开对话框活动。
这是否可以打开对话活动,父活动始终在后台运行?当然没有将对话框活动切换到对话框片段。
答案 0 :(得分:1)
与您的通知相关联的 PendingIntent 应该启动您的活动,而不是直接启动对话框。
在此意图中添加Extra
以检测它是否应该打开对话框。
然后在您的活动的onResume
方法中,阅读额外的(getIntent.getExtra()...
),如果应该,请在那里打开对话框。
因此,在每种情况下,您的活动都将在显示对话框之前恢复。