【发布时间】:2017-04-25 12:13:22
【问题描述】:
我想在应用程序处于前台时将通知显示为带有批准和拒绝按钮的警报对话框。但是,当我使用 SYSTEM_ALERT_WINDOW 时,正负按钮不起作用。以及具有上下文问题的正常警报对话框。
那么,如何在不使用 SYSTEM_ALERT_WINDOW 的情况下显示来自服务的警报对话框?
【问题讨论】:
我想在应用程序处于前台时将通知显示为带有批准和拒绝按钮的警报对话框。但是,当我使用 SYSTEM_ALERT_WINDOW 时,正负按钮不起作用。以及具有上下文问题的正常警报对话框。
那么,如何在不使用 SYSTEM_ALERT_WINDOW 的情况下显示来自服务的警报对话框?
【问题讨论】:
好吧,正确的答案是不这样做。使用Notification,可能是高优先级的,以便在Android 5.0+ 上以单挑模式显示。如果用户愿意,这允许用户在 Notification 出现时与它进行交互,否则它只会像往常一样滚动到状态栏。
请记住,当您想要显示此警报时,您并不知道用户在使用他们的设备在做什么,并且用户可能不喜欢您在玩游戏的过程中打断他们,在驾驶时使用导航应用程序等。
在非常少数情况下,用户会同意从后台接管前台是一个好主意(例如,来电)。在这些情况下,请使用以对话框为主题的 Activity(即,其主题从名称中包含 Dialog 的主题扩展而来,例如 Theme.Material.Dialog)。
【讨论】: