Как добавить звук в уведомление?

Как добавить звук в уведомление, созданное NotificationCompat.Builder? Я создал необработанную папку в res и добавил туда звук. Итак, как мне теперь добавить его в уведомление? Это мой код уведомления

int NOTIFY_ID=100; Intent notificationIntent = new Intent(this, Notification.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT); NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this) .setContentIntent(pendingIntent) .setSmallIcon(R.drawable.notification) .setContentTitle("Warning") .setContentText("Help!") NotificationManager mgr = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); mgr.notify(NOTIFY_ID, mBuilder.build()); 

Solutions Collecting From Web of "Как добавить звук в уведомление?"

Я предполагаю, что проблема заключается в том, как ссылаться на звук с помощью Uri , поскольку в классе NotificationCompat.Builder есть очевидный метод – setSound(Uri soundUri) .

Чтобы получить доступ к вашим raw ресурсам, вам необходимо создать Uri следующим образом:

android.resource: // [PACKAGE_NAME] / [RESOURCE_ID]

Таким образом, код может выглядеть следующим образом:

 Uri sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notifysnd); mBuilder.setSound(sound); 

Чтобы воспроизвести звук с уведомлением:

 Notification notification = new Notification(icon, tickerText, when); 

Выполнять обычные процедуры уведомления

Чтобы воспроизвести звук по умолчанию с уведомлением:

 notification.defaults |= Notification.DEFAULT_SOUND; 

Чтобы воспроизвести пользовательский звук с уведомлением:

 notification.sound = Uri.parse("file:///sdcard/notification/notification.mp3"); 

Затем просто используйте диспетчер уведомлений для отправки уведомления. Если оба этих утверждения используются, приложение по умолчанию использует звук по умолчанию.