【发布时间】:2014-08-04 13:05:14
【问题描述】:
我创建了一个对话框活动,当我的应用程序收到来自云端的消息时,它会弹出,提示用户采取行动(按是/否)。但如果同时有通知,则新的对话意图与第一个对话意图重叠,如果用户选择是/否,则启动第三个活动并丢失第一个对话。
有没有办法检查我的对话意图是否已经开始?所以我可以在开始显示完整消息的第三个活动之前回到第一个对话框?
问候!
【问题讨论】:
-
您应该做的是在 ParentActivity 中保存该 DialogActivity 的实例,并在收到通知时检查 DialogActivity 是否为空。例如如果(mDialogActivity == null)。或者,您可以使用一个布尔值来检查 Activity 是否正在运行: static boolean isActive = false;并在 onStart/onStop 方法中将其设置为 true/false。
-
那么,如果有两个对话框,你想只显示第一个对话框吗?
-
您的显示是从当前正在运行的活动中发生的,还是由正在运行的线程显示的?
-
当按下 OK 时,对话意图关闭并将“消息”传递给第三个“结果”活动。我需要创建一个条件,例如:“如果启动了相同的活动(带有另一条消息的较早对话框)“不要启动第三个活动,只需关闭当前对话框”,然后在阅读完所有消息后,按确定启动显示我所有消息的第三个活动。@MuhammedRefaat
标签: android android-intent android-activity dialog cloud