在Android 11及以上版本中,通知的显示方式已经发生了改变,需要通过NotificationManagerCompat来发送,代码如下:
//1. 创建通知渠道 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { NotificationChannel channel = new NotificationChannel(CHANNEL_ID,CHANNEL_NAME,NotificationManager.IMPORTANCE_DEFAULT); NotificationManager notificationManager = getSystemService(NotificationManager.class); notificationManager.createNotificationChannel(channel); }
//2. 发送通知 NotificationCompat.Builder builder = new NotificationCompat.Builder(this,CHANNEL_ID) .setSmallIcon(R.drawable.ic_launcher) .setContentTitle("Title") .setContentText("Text") .setPriority(NotificationCompat.PRIORITY_DEFAULT) .setAutoCancel(true);
NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this); notificationManager.notify(notificationId, builder.build());
要在通知的布局中显示图片或者样式等信息,可以使用NotificationCompat.Builder中提供的方法进行设置。