He visto muchos ejemplos de cómo configurar un tono de llamada predeterminado, pero lo que más me interesa es poder completar una lista desplegable llena de los tonos disponibles en el teléfono. Entonces, la lista que las personas ven cuando cambian su tono de llamada en la configuración de Android, quiero poder enumerar todas esas.Obtener una lista de tonos disponibles en Android
Lo más parecido que he encontrado es here, pero nuevamente esto es solo para configurar el tono de llamada predeterminado. ¿Alguna idea a alguien? Puede estar dentro o fuera de ringtonemanager.
tengo un 'StaleDataException' (* Intento de acceder a un cursor después de que se ha cerrado. *) Al poner el teléfono a dormir y despertar de nuevo después de usar este código. No cerrar el cursor parece arreglarlo, supongo que "RingtoneManager" devuelve un cursor administrado. – eWolf
@eWolf El 'getCursor' [docs] (https://developer.android.com/reference/android/media/RingtoneManager.html#getCursor%28%29) estado: ' El cursor devuelto será el mismo cursor devuelto cada vez que se llama a este método, por lo tanto, no cierre() el cursor. El cursor se puede desactivar() de forma segura. Si RingtoneManager (Activity) no se usó, la persona que llama debe administrar el cursor devuelto durante el ciclo de vida de su actividad para evitar que el cursor se pierda. – user650881
@ user650881: lo extraño es que [deactivate] (https://developer.android. com/reference/android/database/Cursor.html # deactivate% 28% 29) está en desuso desde API 16 (Android 4.1 JellyBean). [Mirando el código] (https://github.com/android/platform_frameworks_base/blob/kitkat-release/media/java/android/media/RingtoneManager.java#L360) parece que la mejor solución es crear un nuevo instancia de RingtoneManager para tener un nuevo cursor válido (o para mantener el cursor hasta que realmente se usa). – Diego