9

Estoy intentando hacer una reproducción de sonido personalizada en una notificación de la barra de estado. El archivo .mp3 se encuentra en res/raw/. Pero cuando notifico al usuario, el sonido no se reproduce. He intentado con MediaPlayer, y funciona, pero no quiero que funcione con MediaPlayer.Sonido de notificaciones personalizadas que no se está reproduciendo

Aquí es mi método:

public void showNotification() 
{ 
     String ns = Context.NOTIFICATION_SERVICE; 
     NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns); 

     int icon = R.drawable.feedback;  // icon from resources 
     CharSequence tickerText = mContext.getString(R.string.statusbar_notification); // ticker-text 
     long when = System.currentTimeMillis();   // notification time 
     Context context = getApplicationContext();  // application Context 
     CharSequence contentTitle = mContext.getString(R.string.statusbar_notification); // message title 
     CharSequence contentText = mContext.getString(R.string.statusbar_notificatione_detailed);  // message text 

     Intent notificationIntent = new Intent(mContext, Main.class); 
     PendingIntent contentIntent = PendingIntent.getActivity(mContext, 0, notificationIntent, 0); 

     // the next two lines initialize the Notification, using the configurations above 
     Notification notification = new Notification(icon, tickerText, when); 

     //notification.defaults |= Notification.DEFAULT_SOUND; 
     notification.defaults |= Notification.DEFAULT_VIBRATE; 
     notification.sound = Uri.parse("android.resource://" + getPackageName() + "/R.raw.notificationsound"); 

     notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent); 
     mNotificationManager.notify(1, notification); 
} 

Gracias.

Respuesta

26

De la documentación para ContentResolver:

El URI debe ser uno de los siguientes formatos: android.resource: // package_name/id_number

Usted está pasando la cadena "R. raw.notificationsound "que no significa nada. lugar intente esto:

notification.sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notificationsound); 
+0

¿Cómo se configura el ciclo de duración de éstas sonido de notificación ... cómo repetir el patrón en estos –

Cuestiones relacionadas