¿Cómo agregar sonido a la notificación?
¿Cómo se agrega sonido a una notificación creada por NotificationCompat.Builder? He creado una carpeta en bruto en res y agregó el sonido allí. Entonces, ¿cómo puedo añadirlo a la notificación? Este es mi código de notificación
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());
- Notificación de envío extra enviada al dispositivo Android
- Reproducir sólo notificación de sonido predeterminado (Android)
- Android a veces tengo android.app.RemoteServiceException: Notificación incorrecta enviada desde el paquete. ¿Por qué?
- La notificación de Android no desaparece después de hacer clic en la notificación
- Notificación de Android después de reiniciar
- Notificación diaria de Android
- Fondo de notificación en Android Lollipop es blanco. ¿Cómo puedo cambiarlo?
- Notifications.Builder en API 10
- Saber si la aplicación recibió la notificación desde el lado del servidor
- El diseño de notificaciones personalizadas no funciona en Android 2.3 o inferior
- Cómo abrir la misma actividad después de hacer clic en las notificaciones de diferencias
- Notificación sin intención pendiente
- Generador de notificaciones en android 2.3
Supongo que el problema aquí es cómo hacer referencia al sonido con un Uri
, ya que hay un método obvio en la clase NotificationCompat.Builder
– setSound(Uri soundUri)
.
Para acceder a sus recursos raw
es necesario crear el Uri
siguiente manera:
Android.resource: // [PACKAGE_NAME] / [RESOURCE_ID]
Así que el código podría terminar parecido a eso:
Uri sound = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.notifysnd); mBuilder.setSound(sound);
Para reproducir un sonido con la notificación:
Notification notification = new Notification(icon, tickerText, when);
Procedimientos normales de notificación
Para reproducir el sonido predeterminado con la notificación:
notification.defaults |= Notification.DEFAULT_SOUND;
Para reproducir un sonido personalizado con la notificación:
notification.sound = Uri.parse("file:///sdcard/notification/notification.mp3");
A continuación, utilice el administrador de notificaciones para enviar la notificación. Si se usan estas dos sentencias, la aplicación usará por defecto el sonido predeterminado.