Android O的通知渠道适配
程序员文章站
2022-03-18 15:59:53
在 Android O 以后,Google引入了通知通道的概念,如果目标API大于 Android O ,不直指定通知渠道是不能发送通知的。 ......
在 android o 以后,google引入了通知通道的概念,如果目标api大于 android o ,不直指定通知渠道是不能发送通知的。
这里放一个我写好的通知方法,大家可以适当的改改再用,*当然亦可以直接用*
这里放一个我写好的通知方法,大家可以适当的改改再用,*当然亦可以直接用*
/** * 通过通知渠道发送通知 android o 新增api * 其他的还和以前一样 * * @param channelid 渠道id * @param channelname 渠道名字 * @param subtext 小标题 * @param title 大标题 * @param text 内容 */ @targetapi(build.version_codes.o) public void sendnotification(string channelid, string channelname, string subtext, string title, string text) { //创建通道管理器 notificationchannel channel = new notificationchannel(channelid, channelname, notificationmanager.importance_high); notificationmanager manager; manager = (notificationmanager) this.getsystemservice(getapplicationcontext().notification_service); manager.createnotificationchannel(channel); //构建通知 notification.builder builder = new notification.builder(getapplicationcontext()); //设置小图标 builder.setsmallicon(r.mipmap.ic_launcher); //设置通知 标题,内容,小标题 builder.setcontenttitle(title); builder.setcontenttext(text); builder.setsubtext(subtext); //设置通知颜色 builder.setcolor(color.parsecolor("#e91e63")); //设置创建时间 builder.setwhen(system.currenttimemillis()); //创建通知时指定channelid builder.setchannelid(channelid); intent resultintent = new intent(this, clipactivity.class); pendingintent resultpendingintent = pendingintent.getactivity(this, 0, resultintent, pendingintent.flag_update_current); builder.setcontentintent(resultpendingintent); //构建一个通知,最后通知管理器 发送 notification notification = builder.build(); manager.notify(1, notification); }