从应用中显示alertdialog

时间:2015-12-01 15:13:04

标签: android android-alertdialog

即使用户当前不在我的应用中,我也想显示来自服务的alertdialog。

我在网上看到,我们需要使用“弹出主题”创建另一个活动......

所以也试过这个:how to create alertdialog outside of an application?

但它会在显示新活动之前打开我的应用程序。

我确信还有另一种解决方案。 当收到新消息时,Facebook Messenger会用什么来显示一些通知?

由于

修改

我刚发现:http://www.piwai.info/chatheads-basics/

我们试试吧!

编辑2

好的,我在之前的编辑中测试了这个技巧。它可以是一个解决方案,但它不是很干净...我的意思是,一些开发人员使用它来向用户展示广告,它可能是侵入性的,我需要添加一个在安装时发出警告的权限。我终于决定打开我的应用程序并在我的应用程序中显示我的AlertDialog。

编辑3

我解决了我的问题。有关详细信息,请参阅我的回答

2 个答案:

答案 0 :(得分:1)

我终于找到了解决方案。

请看这个链接:http://jhshi.me/2013/11/03/pop-up-alertdialog-in-system-service/

添加

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

AlertDialog dialog = builder.create();
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
dialog.show();

这正是我想要做的。

注意:我听说在Android Marshmallow中默认情况下会停用该权限,如果他没有在应用偏好设置(应用管理器)中手动激活权限,则用户将看不到该弹出窗口。

我已经在Marshmallow下进行了测试,而且我没有强迫此应用在Android设置中进行任何操作。

答案 1 :(得分:0)

正确的方法是显示Notification,而不是对话框。