我希望在某些特定事件发生时弹出对话框。假设我是一个防病毒软件并且发现了病毒,我无法发送此权利通知,用户可能会受到损害甚至死亡,直到他检查通知为止。
所以我想要显示一个像允许拒绝的对话,或者是 - 否,不要打扰用户,这种情况很少发生。
当用户使用其他应用程序,甚至玩游戏时,服务或应用程序是否有任何显示对话框的方式。
提前致谢...
答案 0 :(得分:2)
查看Notification
documentation。当我不在前台时,我不相信你可以/应该创建一个AlertDialog
。有关何时应该和不应该使用它们的设计模式的信息,请参阅here。(您对最后一段感兴趣。
引用文档。
对话和祝酒词用于反馈而非通知
如果您的应用当前不在屏幕上,则不应创建对话框或烤面包。对话框和Toasts只应显示为对在应用程序内部执行操作的用户的即时响应。有关使用对话框和祝酒词的进一步指导,请参阅确认&确认。
这是一种更好,更少侵入性的方式,可以在特定情况下通知用户。我也知道可以从后台服务创建通知。
您使用Notification
类创建Notification.Builder
,设置标题,图标,文字,何时显示,以及用户点击通知时启动的意图(用于打开)您的应用程序位于所需位置)。创建后,您可以使用startForeground(NOTIFICATION_ID,notification)
。您指定了一个ID,以便稍后访问该通知。