应用程序外的警报对话框(不在活动中)

mne*_*emy 1 android

有没有办法在应用程序之外创建某种弹出窗口,如警报对话框?这个问题的上下文是我需要在推送通知的情况下向用户显示内容.基本上,用户收到一些消息,即使App当前未打开,App也会收到消息,并且用户的任务栏中会显示通知.如果用户在任务栏中打开通知,我希望弹出窗口完全独立于应用程序.

到目前为止我找到的唯一解决方案是使用Theme.Dialog设置调用Activity创建一个Alert Dialog.此解决方案的问题是,如果应用程序已打开,则活动将添加到活动堆栈.所以我得到了不一致的行为,因为如果应用程序关闭,那么弹出窗口将按我的意愿工作,并将显示在用户当前所在的任何应用程序中.但是,如果应用程序已经打开,但当前没有关注,然后焦点将切换到我的应用程序,然后显示对话框.

理想情况下,我希望弹出窗口独立于应用程序显示,如果用户选择,则可以使用按钮将用户重定向到应用程序,或者只是关闭通知并继续他们正在做的任何事情.

有人有主意吗?

Ale*_*dam 5

不,你不能.但是你可以使用launchMode来使它成为任务中唯一的活动:

http://developer.android.com/guide/practices/ui_guidelines/activity_task_design.html

"singleTask"和"singleInstance"模式在一个方面也各不相同:"singleTask"活动允许其他活动成为其任务的一部分.它始终是其任务的根源,但其他活动(必然是"标准"和"单一活动")可以启动到该任务中.另一方面,"singleInstance"活动不允许其他活动成为其任务的一部分.这是任务中唯一的活动.如果它启动另一个活动,则该活动将分配给另一个任务 - 就像FLAG_ACTIVITY_NEW_TASK在意图中一样.