Tenía casi la misma pregunta. Después de investigar un poco, creo que si quieres reproducir el "sonido de notificación" predeterminado del sistema, tienes que mostrar una notificación y decirle que use el sonido predeterminado. Y hay algo que decir para el argumento en algunas de las otras respuestas que si está reproduciendo un sonido de notificación, también debería presentar algún mensaje de notificación.
Sin embargo, hay un pequeño ajuste de la API de notificación y puede acercarse a lo que desea. Puede mostrar una notificación en blanco y luego eliminarla automáticamente después de unos segundos. Creo que esto funcionará para mí; tal vez funcionará para ti.
He creado un conjunto de métodos de conveniencia en com.globalmentor.android.app.Notifications.java
que le permiten crear un sonido de notificación de esta manera:
Notifications.notify(this);
El LED también parpadeará y, si tiene permiso de vibración, se producirá una vibración. Sí, aparecerá un icono de notificación en la barra de notificaciones, pero desaparecerá después de unos segundos.
En este punto, es posible que se dé cuenta de que, dado que la notificación desaparecerá de todos modos, también podría tener un mensaje de ticker en la barra de notificaciones; puede hacerlo así:
Notifications.notify(this, 5000, "This text will go away after five seconds.");
Hay muchos otros métodos de conveniencia en esta clase. Puede descargar toda la biblioteca desde su Subversion repository y compilarla con Maven. Depende de globalmentor-core library, que también se puede construir e instalar con Maven.
Los teléfonos de Motorola, por ejemplo, extendieron la actividad de preferencias y le permiten al usuario definir un sonido de notificación para sms y otras categorías. El método anterior no funcionará con este tipo de teléfonos. ¿Tienes alguna idea de cómo resolver este problema? – David
Recibí un error con esto: 'MediaPlayer - Debería haber configurado el controlador de subtítulos'. Qué significa eso? – Deqing
Al usar esta solución, después de 28/29 veces, los sonidos dejan de reproducirse. Alguien sabe por qué? –