即使用户当前不在我的应用中,我也想显示来自服务的alertdialog。
我在网上看到,我们需要使用“弹出主题”创建另一个活动......
所以也试过这个:how to create alertdialog outside of an application?
但它会在显示新活动之前打开我的应用程序。
我确信还有另一种解决方案。 当收到新消息时,Facebook Messenger会用什么来显示一些通知?
由于
修改
我刚发现:http://www.piwai.info/chatheads-basics/
我们试试吧!
编辑2
好的,我在之前的编辑中测试了这个技巧。它可以是一个解决方案,但它不是很干净...我的意思是,一些开发人员使用它来向用户展示广告,它可能是侵入性的,我需要添加一个在安装时发出警告的权限。我终于决定打开我的应用程序并在我的应用程序中显示我的AlertDialog。
编辑3
我解决了我的问题。有关详细信息,请参阅我的回答
答案 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,而不是对话框。