在不使用 SYSTEM_ALERT_WINDOW 的情况下使用服务中的正负按钮显示警报
Show alert with positive and negative button from service without using SYSTEM_ALERT_WINDOW
我想在应用程序处于前台时将通知显示为带有批准和拒绝按钮的警告对话框。但是,当我使用 SYSTEM_ALERT_WINDOW 时,正负按钮不起作用。还有正常的警报对话框有上下文问题。
那么,如何在不使用 SYSTEM_ALERT_WINDOW 的情况下显示来自服务的警报对话框?
嗯,正确的答案是不做。使用 Notification
,也许是高优先级的,以便它在 Android 5.0+ 上以单挑模式显示。如果用户愿意,这允许用户在 Notification
出现时与其进行交互,否则它只会像往常一样滚动到状态栏中。
请记住,当您想要显示此提醒时,您并不知道用户正在使用他们的设备做什么,并且用户可能不希望您在玩游戏时使用导航应用打断他们开车时等
在极少数情况下 用户会同意从后台接管前台是个好主意(例如,来电phone)。在这些情况下,使用以对话为主题的 Activity
(即,其主题扩展自名称中带有 Dialog
的主题,例如 Theme.Material.Dialog
)。
我想在应用程序处于前台时将通知显示为带有批准和拒绝按钮的警告对话框。但是,当我使用 SYSTEM_ALERT_WINDOW 时,正负按钮不起作用。还有正常的警报对话框有上下文问题。
那么,如何在不使用 SYSTEM_ALERT_WINDOW 的情况下显示来自服务的警报对话框?
嗯,正确的答案是不做。使用 Notification
,也许是高优先级的,以便它在 Android 5.0+ 上以单挑模式显示。如果用户愿意,这允许用户在 Notification
出现时与其进行交互,否则它只会像往常一样滚动到状态栏中。
请记住,当您想要显示此提醒时,您并不知道用户正在使用他们的设备做什么,并且用户可能不希望您在玩游戏时使用导航应用打断他们开车时等
在极少数情况下 用户会同意从后台接管前台是个好主意(例如,来电phone)。在这些情况下,使用以对话为主题的 Activity
(即,其主题扩展自名称中带有 Dialog
的主题,例如 Theme.Material.Dialog
)。