8.0通知栏新增通知渠道,及自定义通知 响应点击事件

本文深入探讨了Android 8.0中通知渠道的引入及其重要性,包括如何创建通知渠道,以及如何适配新特性以确保通知正常显示。同时,提供了代码示例和实践指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

版权声明:本文为博主原创文章,未经博主允许不得转载:https://mp.youkuaiyun.com/postedit/83057893

今天写了下demo 发现通知在8.0后有些改变记录下这个坑!!!!

通知的代码大家在网上一搜一大把,我也不废话 直接上重点。

点击发送通知,没有通知显示,代码如下。

日志信息

明明走了这行代码却什么也没发生,what? 难道写错了?,后来查看了资料下才知道是8.0后加了个叫通知渠道的东西,简单点说 就相当于一个ID,标记当前是什么通知,用于给系统识别的,

,且上面方法已经废弃掉了,必须带有通知渠道的 通知才能展示!

稍稍调整下代码

 

给一个CHANNEL_ID 的标识,重点是这个NotificationChannel 这个类,再创建通知前一定要createNotificationChannel()

这个方法只会走一次,而且不影响效率,也不会重复创建

 NotificationChannel

运行后效果,通知就出来了

 

什么是通知渠道

Android 8.0 功能和 API  

官方解释在上面

Android 8.0 系统,Google引入通知渠道,提高用户体验,方便用户管理通知信息,同时也提高了通知到达率

什么是通知渠道呢?顾名思义,就是每条通知都要属于一个对应的渠道。每个App都可以自由地创建当前App拥有哪些通知渠道,但是这些通知渠道的控制权都是掌握在用户手上的。用户可以自由地选择这些通知渠道的重要程度,是否响铃、是否振动、或者是否要关闭这个渠道的通知。

 

 

通知适配

build.gradle 中targetSdkVersion设置大于等于26。这时如果不对通知渠道适配,通知就无法显示。

代码在上面有,主要是这个

 

自定义通知和点击事件

 

点击自定义通知效果及日志

 

点击后跳转我想要的页面

 

日志

 

只要是用

RemoteViews的setOnClickPendingIntent  给某个控件设置点击事件, 网上大多是通过
PendingIntent  设置广播,如果我只需要做单纯的跳转某个界面没必要这么麻烦。。。

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值