private NotificationManager manager;
private NotificationManager getManager(){ if(manager == null){ manager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE); } return manager; }
//发送通知 private void sendNormalNotification(){
//大于8.0 if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){ //id随便指定 NotificationChannel channel = new NotificationChannel("channel_id","channel_name", NotificationManager.IMPORTANCE_DEFAULT); channel.canBypassDnd();//可否绕过,请勿打扰模式 channel.enableLights(true);//闪光 channel.setLockscreenVisibility(VISIBILITY_SECRET);//锁屏显示通知 channel.setLightColor(Color.RED);//指定闪光是的灯光颜色 channel.canShowBadge();//桌面laucher消息角标 channel.enableVibration(true);//是否允许震动 channel.getAudioAttributes();//获取系统通知响铃声音配置 channel.getGroup();//获取通知渠道组 channel.setBypassDnd(true);//设置可以绕过,请勿打扰模式 channel.setVibrationPattern(new long[]{100,100,200});//震动的模式,震3次,第一次100,第二次100,第三次200毫秒 channel.shouldShowLights();//是否会闪光 //通知管理者创建的渠道 getManager().createNotificationChannel(channel); }
Notification notification=new Notification.Builder(this) .setAutoCancel(true) .setChannelId("channel_id") .setContentTitle("新消息来了") .setContentText("新消息内容") .build(); getManager().notify(1,notification);
}