安卓中广播接收器对话框问题

3

我遇到了关于广播接收器中弹出窗口的问题。我已经使用带有对话框主题的活动来实现弹出窗口。但是当应用程序在后台运行并且我收到广播时,弹出窗口会显示在我打开的活动之上,而不是独立的。

如何只打开弹出窗口,而不是在后台活动之上显示。


我通过以下方式解决了这个问题: Intent i = new Intent(context, NightClock.class); i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_INSTANCE); context.startActivity(i); - Sandy
2个回答

2
我猜,在你的onReceive方法中,你可以写下这个:
 Intent i = new Intent(context, NightClock.class);
        i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        context.startActivity(i); 

我正在做同样的事情。但是当应用程序没有运行(不在后台)时,它可以正常工作。但是如果应用程序在后台运行,则弹出窗口会出现,但弹出窗口后面有背景活动。 - Sandy
如果杀死后台活动或将其置于前台,那并不是解决办法:( - Sandy
我猜在那种情况下,如果你能检查你的应用程序是否正在运行,那么就可以根据这个来从广播接收器调用一个新的活动。 - success_anil
嗯... 可能我们都在说两件不同的事情。作为调用活动上对话框主题弹出窗口的替代方案,可以使用 AlertDialog 类并显示 AlertDialog。 - success_anil
只能从活动中使用对话框,不能从广播接收器中使用: - Sandy
显示剩余6条评论

2

我已经仔细阅读了它,但是没有找到解决我的问题的方法 :( - Sandy
仅应打开弹出窗口,而不是后台应用程序。 - Sandy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接