Создайте канал, как показано ниже,
Uri soundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
AudioAttributes audioAttributes = new AudioAttributes.Builder()
.setContentType(AudioAttributes.CONTENT_TYPE_SONIFICATION)
.setUsage(AudioAttributes.USAGE_NOTIFICATION)
.build();
String characterSequence = "Message Alert";
NotificationChannel channel = new NotificationChannel(channelId,
characterSequence,NotificationManager.IMPORTANCE_DEFAULT);
channel.setSound(soundUri,audioAttributes );
NotificationManager manager = (NotificationManager)
this.getSystemService(Context.NOTIFICATION_SERVICE);
manager.createNotificationChannel(channel);
}
Здесь необходимо передать идентификатор канала, как показано ниже,
NotificationCompat.Builder builder= new NotificationCompat.Builder(APITest2.this,channelId)
Также см. https://developer.android.com/training/notify-user/channels
Если вам нужно отображать хедз-ап уведомления, вам нужно установить уровень важности в канале уведомлений как IMPORTANCE_HIGH. И необходимо установить приоритет в построителе уведомлений, как показано ниже.
setPriority(NotificationCompat.PRIORITY_HIGH);