Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to show a notification without a sound java

How can I make a notification that doesn't make a sound when I build it? I am building a notification, and my users don't like the fact that it makes a sound.

How can I change it to a silent one / no sound at all?

How I show notification:

android.support.v7.app.NotificationCompat.Builder builder = new android.support.v7.app.NotificationCompat.Builder(main); builder.setStyle(new android.support.v7.app.NotificationCompat.BigTextStyle().bigText(text)); builder.setSmallIcon(R.drawable.app); builder.setContentTitle("Rooster Maandag:"); builder.setOngoing(false); builder.setAutoCancel(true); builder.setSilent(true); builder.setDefaults(Notification.DEFAULT_ALL); builder.setVisibility(NotificationCompat.VISIBILITY_PUBLIC); builder.setPriority(NotificationCompat.PRIORITY_DEFAULT); notificationManager = (NotificationManager) main.getSystemService(main.NOTIFICATION_SERVICE); notificationManager.notify(NOTIFICATION_ID, builder.build()); 

I tried to search on google, but the only results I get is HOW to play a sound, not HOW to not play a sound...

Edit It possibly is a duplicate in some people's eyes, but in mine I could not find out an alternative for the there specified default, while this new method is called setDefaults

like image 704
Jason Avatar asked Oct 01 '16 17:10

Jason


People also ask

What is notification in Java?

The notify() method is defined in the Object class, which is Java's top-level class. It's used to wake up only one thread that's waiting for an object, and that thread then begins execution. The thread class notify() method is used to wake up a single thread.


2 Answers

To disable the sound in OREO 8.1, change the priority of the notification as LOW and it will disable the sound of notification:

NotificationManager.IMPORTANCE_LOW 

The code is like:

NotificationChannel chan1 = new NotificationChannel("default", "default", NotificationManager.IMPORTANCE_LOW); 
like image 128
Kuldip Sharma Avatar answered Sep 30 '22 14:09

Kuldip Sharma


It works for me in Android Oreo.

You should just write your channel like this:

NotificationChannel notificationChannel = new NotificationChannel("Id" , "Name", NotificationManager.IMPORTANCE_DEFAULT);             notificationChannel.setSound(null, null);             notificationChannel.setShowBadge(false);             notificationManager.createNotificationChannel(notificationChannel); 
like image 34
Михаил Avatar answered Sep 30 '22 14:09

Михаил