java.lang.IllegalArgumentException: Columna no válida: _data
Mientras ejecuto este código, obtengo la excepción de columna no válida: _data.
RingtoneManager.setActualDefaultRingtoneUri(
context,
RingtoneManager.TYPE_RINGTONE, Settings.System.DEFAULT_RINGTONE_URI)
Básicamente, quiero volver al tono de llamada predeterminado del sistema desde mi aplicación.
davy.ai
Para volver al tono de llamada predeterminado del sistema desde una aplicación de Android, puedes usar las clases
RingtoneManager
ySettings
.En el código proporcionado, se utiliza el método
RingtoneManager.setActualDefaultRingtoneUri
para establecer la URI del tono de llamada predeterminado actual. El primer parámetrocontexto
especifica el contexto de la aplicación.El segundo parámetro
RingtoneManager.TYPE_RINGTONE
se utiliza para especificar el tipo de tono de llamada. También puedes usarRingtoneManager.TYPE_ALARM
oRingtoneManager.TYPE_NOTIFICATION
según tus necesidades.El tercer parámetro
Settings.System.DEFAULT_RINGTONE_URI
especifica la URI del tono de llamada predeterminado a establecer.Sin embargo, al ejecutar este código, es posible que te encuentres con una
IllegalArgumentException
con el mensaje “invalid column _data”. Esto se debe a que el parámetroSettings.System.DEFAULT_RINGTONE_URI
puede no estar disponible en todos los dispositivos Android.Para evitar este problema, puedes manejar la excepción utilizando un bloque try-catch y establecer la URI como nula en caso de excepción.
Aquí tienes un ejemplo de código para volver al tono de llamada predeterminado del sistema:
Este código establece el tono de llamada predeterminado en el tono de llamada predeterminado del sistema utilizando el método
RingtoneManager.setActualDefaultRingtoneUri()
y maneja la excepción en caso deIllegalArgumentException
.