1

android 中的NotificationManager类列出了两个方法setInterruptionFilter (int interruptionFilter)setNotificationPolicy (NotificationManager.Policy policy).

从文档:

设置中断过滤器

public final void setInterruptionFilter (int interruptionFilter)

设置当前通知中断过滤器。

中断过滤器定义了哪些通知被允许中断用户(例如通过声音和振动)并在全局范围内应用。

设置通知策略

public void setNotificationPolicy (NotificationManager.Policy policy)

设置当前通知策略。

两者都是在 API 级别 23 中添加的。据我了解,两者似乎都完成了为 android 设备设置“请勿打扰”策略的相同任务。这两种方法究竟有什么区别?

4

1 回答 1

0

使用setNotificationPolicy您可以设置“请勿打扰”“允许中断”策略,例如NotificationManager.Policy.PRIORITY_CATEGORY_ALARM(允许警报)

使用setInterruptionFilter 可以将实际的请勿打扰设置为开或关,其中:

NotificationManager.INTERRUPTION_FILTER_PRIORITY= 使用 setNotificationPolicy 设置设置 DND

NotificationManager.INTERRUPTION_FILTER_NONE= 为每次中断设置 DND

NotificationManager.INTERRUPTION_FILTER_ALL= 关闭免打扰

提示。您可以先获取策略,然后再将其更改为NotificationManager.getNotificationPolicy()在完成后将其设置回来。

于 2019-09-25T08:43:37.943 回答