安卓通知栏报错 :Failed to post notification on channel "null"

这个问题是在写一个项目中的通知消息模块时出的,报错 Failed to post notification on channel “null”
但是只是在模拟器上吐司了一下…logcat上也找不到任何消息(想哭),好了不废话。
channel是频道的意思,错误的大概意思就是我没有设置频道,然后就发现notifaction.bulider里有这个方法:

notifi.setChannelId(channel);

果断的试了下结果还是不起作用,里面传入的是一个string的字符串,被这个问题干扰了好久,就去了stack上去找答案。最后得知channeid需要在NotifactionMananger里面去创建,并且连带优先级等参数,然后在这个setChanneId()方法中去设置被NotifactionMananger创建的id,代码如下:


NotificationChannel channelbody = new NotificationChannel(channel,"消息推送",NotificationManager.IMPORTANCE_DEFAULT);
        on_manmanger.createNotificationChannel(channelbody);
   Notification.Builder notifi = new Notification.Builder(getApplicationContext());
        notifi.setSmallIcon(R.mipmap.github);
        notifi.setTicker(tickcontent);
        notifi.setContentText(textcontent);
        notifi.setContentIntent(pend);
        notifi.setChannelId(channel);
        notifi.setWhen(System.currentTimeMillis());
        android.app.Notification notifi_true = notifi.build();
        on_manmanger.notify(id,notifi_true);

主要就是在这个NotificationChanner这个类里面,去创建一个频道对象。然后交于NotificationMannager,安卓8.0以后对消息通知管理做出了新的规划,包括消息的优先级,以及消息的编号
不同的频道对应不同的通知。
看来以后要学的东西还很多啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值