2016-03-03 2 views
0

Я искал в Интернете и нашел сообщение, связанное с настройкой звука в уведомлении android и последовал за ними, но в моем случае я получаю звук уведомления по умолчанию в уведомлении по android. Вот мой код:Android Notification пользовательский звук не работает

builder.setSound(Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notification_message)); 

Я также последовал this пост, но не повезло.

Для информации: Я играл в URI с помощью MediaPlayer, и тогда он отлично работает.

Часть моего кода:

NotificationCompat.Builder builder = new NotificationCompat.Builder(appContext); 
builder.setContentTitle(message.notificationTitle); 
builder.setContentText(message.notificationSubtitle); 
builder.setTicker(message.notificationTitle); 
builder.setSmallIcon(R.drawable.ic_action_inbox); 
Uri uri = Uri.parse("android.resource://" + appContext.getPackageName() + "/" + R.raw.notification_message); 
builder.setSound(uri); 
builder.setVibrate(new long[]{1000, 1000, 1000}); 
builder.build(); 

Может кто-нибудь объяснить, что это проблема. Как это сделать? Я застрял :(

+0

Проверьте свой журнал, чтобы узнать, есть ли сообщение об исключении. –

ответ

1

Извини людей. Это была моя ошибка. Я использовал следующую строку:

builder.setDefaults(Notification.DEFAULT_ALL); 

whi ch создал проблему. комментируя линию, исправил ее.

Спасибо за ваши ответы :)

1

Использование Context.getPackageName() метод, чтобы получить имя пакета приложения.

Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.notification_message) 

удалить

Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notification_message) 
+0

Как вы думаете, я не проверил метод getpackageName(). Это просто отлично работает. –

+0

выслать полный код] – sasikumar

+0

Мой URI правильный. Я играл звук в URI, используя Mediaplayer. Но он не работает при настройке builder.setSound(). –