Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Oreo notification keep making Sound even if I do not set sound. On Older version, works perfectly

Tags:

So I am making my app compatible with Oreo and facing issue with notification.

I added notification channel according to documentation and everything is working smooth except notification keep making sound on every posting, tried setting defaults to 0 as well.

I am testing my app in emulator, any help is highly appreciated.

Used this code for creating channel

  NotificationCompat.Builder builder = new NotificationCompat.Builder(PlayerService.this, "channel_01")                             .setAutoCancel(false)                             .setContentIntent(pendingIntent)                             .setContent(viewsSmall)                             .setCustomBigContentView(viewsExpanded)                             .setDeleteIntent(pSwipeToDismiss);              if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {                 builder.setVisibility(Notification.VISIBILITY_PUBLIC);             }              if (Build.VERSION.SDK_INT > Build.VERSION_CODES.ICE_CREAM_SANDWICH_MR1) {                 builder.setPriority(Notification.PRIORITY_MAX);             }               if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {                             /* Create or update. */                 NotificationChannel channel = new NotificationChannel("channel_01",                             "Playback Notification",                             NotificationManager.IMPORTANCE_DEFAULT);                     mNotificationManager.createNotificationChannel(channel);                     mBuilder.setChannelId("channel_01");                 }     final Notification notification = builder.build();                      startForeground(Constants.NOTIFICATION_ID.FOREGROUND_SERVICE,notification); 
like image 670
Amit Bhandari Avatar asked Sep 15 '17 07:09

Amit Bhandari


1 Answers

Take a look at the notification channel settings (swipe your notification and press the settings icon under it and then select your channel). Those settings are set the first time you create the channel and then not modified unless you do it manually in the device (at least that is my experience from uninstalling and reinstalling my app to see what settings I get by default).

Basically, channel.setSound(null, null) will only have effect when you create the channel on a fresh installation. That might be what they try to explain in the official guide:

Attempting to create an existing notification channel with its original values performs no operation

If you tried to follow that guide and set NotificationManager.IMPORTANCE_HIGH and didn't use channel.setSound(null, null), the channel would get importance level Urgent Make sound and pop on screen with the default sound.

like image 145
Love Avatar answered Sep 30 '22 17:09

Love