Ури по умолчанию звуковое уведомление?

Я использую Notification.Builder для создания уведомления. Теперь я хочу использовать звуковое уведомление по умолчанию:

builder.setSound(Uri sound) 

Но где Uri для уведомления по умолчанию?

Solutions Collecting From Web of "Ури по умолчанию звуковое уведомление?"

Попробуйте использовать RingtoneManager для получения уведомления по умолчанию Uri как:

 Uri uri= RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); builder.setSound(uri); 

builder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI) работает

Два варианта использования Default Notification Sound по Default Notification Sound :

 mBuilder.setDefaults(Notification.DEFAULT_SOUND); 

Или используя класс RingtoneManager :

 mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION)); 

Все эти методы работают

  1. mBuilder.setSound(RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION));

  2. mBuilder.setSound(Settings.System.DEFAULT_NOTIFICATION_URI);

  3. mBuilder.setDefaults(Notification.DEFAULT_SOUND);

Документация Google

Вы также можете использовать это:

 Uri uri = Uri.parse(PreferenceManager.getDefaultSharedPreferences(this). getString("pref_tone", "content://settings/system/notification_sound")); mBuilder.setSound(uri); 

Для уведомления по умолчанию системы

Uri uri = RingtoneManager.getDefaultUri (RingtoneManager.TYPE_NOTIFICATION);

Для пользовательского уведомления

Uri customSoundUri = Uri.parse ("android.resource: //" + getPackageName () + "/" + R.raw.twirl);

Источник звука уведомления (я переименован в «twirl» и помещен в папку res-> raw)

https://notificationsounds.com/message-tones/twirl-470

Разработчик уведомлений:

 NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setSmallIcon(R.drawable.notificaion_icon) .setContentTitle("Title here") .setContentText("Body here") .setSound(defaultSoundUri) .setAutoCancel(true); NotificationManager mNotifyMgr = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); mNotifyMgr.notify(id, mBuilder.build()); 

Если кому-то все еще нужно, это отлично работает со звуком и вибрацией.

  Context context = getApplicationContext(); long[] vibrate = new long[] { 1000, 1000, 1000, 1000, 1000 }; Intent notificationIntent = new Intent(context, MainActivity.class); PendingIntent contentIntent = PendingIntent.getActivity(context, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT); Resources res = context.getResources(); Notification.Builder builder = new Notification.Builder(context); builder.setContentIntent(contentIntent) .setSmallIcon(R.drawable.notif) .setTicker("lastWarning") .setWhen(System.currentTimeMillis()) .setAutoCancel(true) .setVibrate(vibrate) //.setContentTitle(res.getString(R.string.notifytitle)) .setContentTitle("Notification") .setSound(Settings.System.DEFAULT_NOTIFICATION_URI) //.setContentText(res.getString(R.string.notifytext)) .setContentText("Notification text"); // Notification notification = builder.getNotification(); // until API 16 Notification notification = builder.build(); NotificationManager notificationManager = (NotificationManager) context .getSystemService(Context.NOTIFICATION_SERVICE); notificationManager.notify(NOTIFY_ID, notification); 

Если вы хотите отключить, например, вибрационное изменение вибрирует до нового long [] {0,0,0,0,0}; Почти аналогичная вещь, которую вы можете сделать со звуком или использовать, если другое выражение.