Android 8.0+(一) 通知栏适配

    对于通知栏,大家都不陌生,应该算是设备的基础功能组件了吧,像推送消息,任务提醒,闹钟提示等等都需要借助设备的通知栏展现给用户,所以说一个醒目且友好的通知是很重要的,但是在这个android生态比较混乱的环境下,很多乱七八糟的通知,我明明不想接收,却见天儿的被各种app推送轰炸。

    在Android 8.0 之前,有些做得好的厂商会针对每一个app提供一个通知的开关,但是这个权限被关了以后,就再也没法接收到通知了,以致于后面app的任何通知都无法展现给用户,除非用户再次开启app的通知开关。

    也许Google意识到了这个问题,所以在Android 8.0上,NotificationChannel 应运而生。针对 targetSdkVersion在26以及上的设备,如果想要显示app通知,必须要注册对应通知的channel,一个app可以注册多个channel,而用户则可以自行设置某一个channel的开关状态,如果某一个channel的通知被关闭,那么该channel的任何通知都不会展现给用户,而其他channel的通知则不受影响

    一图了解通知的基本组成

    在Android 8.0之前,如果想将消息显示在通知栏上面,基本上是先创建一个 Notification ,然后由NotificationManager直接show() 是没有任何问题的

public void notify(int id) {
    Notification notification = new NotificationCompat.Builder(this)
                .setAutoCancel(true)
                .setSmallIcon(getSmallIcon())
                .setLargeIcon(getLargeIcon())
                .setContentTitle(title)
                .setContentText(body)
                .setContentIntent(pendingIntent)
                .build();

    getManager().notify(id, notification);
 }

   但是如

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@Foritee

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值