Android8.0通知渠道
在API 26以下,每个应用只有一个渠道。Android8.0(API 26)引入了通知渠道,界面将渠道称作“类别”,从API 26开始必须为所有通知分配渠道,否则通知是不会显示的。 将通知归类为不同的渠道,用户可以停用应用的特定通知渠道(而非停用应用的所有通知)。在Android系统设置中可以控制每个渠道的视觉和听觉选项。用户还可以长按通知以更改所关联渠道的行为。
一个应用可以有多个通知渠道(每个渠道对应于应用发出的每类通知)。
在API 26(含)以上,渠道还可以用于指定通知的重要程度等级。这个重要程度等级是用来决定通知应在多大程度上干扰用户(从视觉和听觉上)。重要程度越高,干扰程度就越高。这个重要程度是由通知发布到的渠道的importance决定的。用户可以在系统设置中更改通知渠道的重要程度。在API 25(含)以下,则是由priority决定的。可能的重要程度等级如下:
- 紧急:发出提示音,并以提醒式通知的形式显示
- 高:发出提示音
- 中:无提示音
- 低:无提示意,且不会在状态栏中显示。
但无论重要程度如何,所有通知都会在非干扰系统界面的位置显示,如抽屉式通知栏中,以及在启动器图标上作为标志显示。
勿扰模式:
从API 25开始,用户可以启用勿扰模式,以关闭所有通知的提示音和振动,它有三种级别:
- 完全静音
- 仅限闹钟(只有闹钟可以除外)
- 仅限优先事项:用户可以配置哪些系统级类别可以打扰他们(如仅限闹钟、提醒、活动、来电或短信等)。
在搭载Android8.0(API 26以上)的设备上,用户可以通知按渠道替换勿扰模式来允许特定于应用的类别(又称渠道)显示通知。如付款类通知可能会有取款和存款相关的通知渠道。Android7.1(API 25)仅可以按应用(而不是按渠道)允许显示通知。
注意:
如果我们的应用正在运行“前台服务”,需要发出通知,这种通知不能像关闭其他通知那样关闭这种通知。要移除这一类通知,必须停止运行服务或者将其从“前台”状态中移除。
通知发布的限制
从Androd8.1(API 27)开始,应用无法每秒发出一次以上的通知提示音。如果应用在一秒内发出多条通知,这些通知都会按预期显示,但是每秒中只有第一条通知发出提示音。另外Android还对通知更新频率设定了限制。如果我们频繁地发布有关某条通知的更新(不到一秒内发布多个),系统可能会放弃部分更新。
为了兼容旧设备的通知,请使用NotificationCompat及其子类以及NotificationManagerCompat,这样一来我们就无需要编写条件代码来检查API级别,因为这些API会我们代劳。
最后送上一个Demo。
文章来源: blog.csdn.net,作者:WongKyunban,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/weixin_40763897/article/details/99760343
- 点赞
- 收藏
- 关注作者
评论(0)