NotificationCompat.Builder builder = null;
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
NotificationChannel channel = new NotificationChannel("通知渠道ID",
"通知渠道名称", NotificationManager.IMPORTANCE_DEFAULT);
channel.enableLights(true); //设置开启指示灯,如果设备有的话
channel.setLightColor(Color.RED); //设置指示灯颜色
channel.setShowBadge(true); //设置是否显示角标
channel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);//设置是否应在锁定屏幕上显示此频道的通知
channel.setDescription("通知渠道描述");//设置渠道描述
channel.setVibrationPattern(new long[]{100,200,300,400,500,600});//设置震动频率
channel.setBypassDnd(true);//设置是否绕过免打扰模式
mNotificationManager.createNotificationChannel(channel);
createNotificationChannelGroups();
setNotificationChannelGroups(channel);
builder = new NotificationCompat.Builder(this, "通知渠道ID");
builder.setBadgeIconType(BADGE_ICON_SMALL);//设置显示角标的样式
builder.setNumber(3);//设置显示角标的数量
builder.setTimeoutAfter(5000);//设置通知被创建多长时间之后自动取消通知栏的通知。
}else{
builder = new NotificationCompat.Builder(this);
}
//setContentTitle 通知栏通知的标题
builder.setContentTitle("内容标题");
//setContentText 通知栏通知的详细内容
builder.setContentText("内容文本信息");
//setAutoCancel 点击通知的清除按钮是否清除该消息(true/false)
builder.setAutoCancel(true);
//setLargeIcon 通知消息上的大图标
builder.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
//setSmallIcon 通知上面的小图标
builder.setSmallIcon(R.mipmap.ic_launcher);//小图标
//创建一个意图
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://www.baidu.com"));
PendingIntent pIntent = PendingIntent.getActivity(this, 1, intent, 0);
//setContentIntent 将意图设置到通知上
builder.setContentIntent(pIntent);
//通知默认的声音 震动 呼吸灯
builder.setDefaults(NotificationCompat.DEFAULT_ALL);
//构建通知
Notification notification = builder.build();
//将构建好的通知添加到通知管理器中,执行通知
mNotificationManager.notify(0, notification);