//获取通知管理器对象
NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
// 8.0渠道 也可以写大于等于26
if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.O){
NotificationChannel notificationChannel = new NotificationChannel("id", "name", NotificationManager.IMPORTANCE_DEFAULT);
//这三条不是很重要
notificationChannel.setLightColor(Color.RED); //设置指示灯颜色
notificationChannel.enableLights(true); //开启指示灯
notificationChannel.setShowBadge(true); //检测是否显示角标
// 管理器创建 通知渠道对象
notificationManager.createNotificationChannel(notificationChannel);
}
Intent intent = new Intent(MainActivity.this, TestActivity.class);
PendingIntent activity = PendingIntent.getActivity(this, 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// notification
Notification build = new NotificationCompat.Builder(this, “id”)
// 三要素 缺一不可
.setSmallIcon(R.drawable.bg_error) //设置小图标
.setContentTitle(“TITLE”) //设置标题
.setContentText(“content”) //设置内容
.setContentIntent(activity) //点击通知跳转
.build();
//.setAutoCancel(true) //点击后通知消失(或:调用notificationManager中的cancel方法)
//Intent intentCancel = new Intent(this, NotificationBroadcastReceiver.class);
//intentCancel.setAction(“notification_cancelled”);
//intentCancel.putExtra(NotificationBroadcastReceiver.TYPE, type);
//PendingIntent pendingIntentCancel = PendingIntent.getBroadcast(this, 0, intentCancel, PendingIntent.FLAG_ONE_SHOT);
// .setDeleteIntent(pendingIntentCancel);//滑动取消通知跳转
notificationManager.notify(100,build);