Android 8.0通知栏适配_更新Android 8.0后系统通知栏
2018-03-20 13:13:36  By: dwtedx

Android每次升级都会要我们更改一下代码来兼容新的特性,那么这次也不意外。在新的Android O,也就是Android 8.0下通知的发送又要做更改了,不然的话不能正常显示。Android通知栏在项目开发中,还是用的比较多的,一般是这三个步骤来做Android通知栏。


1、获取通知栏管理器对象

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);


2、创建通知对象,并设置ui

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
    notificationBuilder = new Notification.Builder(UpdateService.this, "77");
}else{
    notificationBuilder = new Notification.Builder(UpdateService.this);
}
notificationBuilder.setWhen(System.currentTimeMillis())
        .setAutoCancel(false)
        .setContentTitle(app_name   getString(R.string.is_downing))
        .setProgress(100, 0, false)
        .setSmallIcon(android.R.drawable.stat_sys_download);
Notification notification;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    notification = notificationBuilder.build();
} else {
    //noinspection deprecation
    notification = notificationBuilder.getNotification();
}


3、发送通知

mNotificationManager.notify(id,notification); 


4、适配Android8.0(很重要,不然在Android 8.0下无法在通知栏发通知)

//兼容android8.0
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
    NotificationChannel channel = new NotificationChannel("77", 
        getString(R.string.down_sucess), NotificationManager.IMPORTANCE_DEFAULT);
    channel.enableLights(false); //是否在桌面icon右上角展示小红点
    channel.setShowBadge(false); //是否在久按桌面图标时显示此渠道的通知
    channel.enableVibration(false);
    channel.setSound(null, null);
    notificationManager.createNotificationChannel(channel);
}


channelId为整数字符串,一定要和Notification.Builder(UpdateService.this, "77")里面的channelId一样才能发出通知哦,channelName最好使用汉字,因为通知栏上右滑出现设置按钮,点开设置按钮,可以看到这个通知channalName。

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


快速评论


技术评论

  • 该技术还没有评论、赶快抢沙发吧...
DD记账
top
+