Red de conocimiento informático - Conocimiento informático - Cómo escribir un programa para configurar el tono de llamada de Android

Cómo escribir un programa para configurar el tono de llamada de Android

Por lo general, configuramos el tono de llamada para el próximo año después de adquirir un nuevo teléfono móvil, entonces, cómo configurar el tono de llamada de Android mediante código, este artículo le dará un ejemplo.

1. Si lees la ruta del archivo de audio, primero debes insertar el archivo de música en la biblioteca multimedia.

Código Java

// Set - Método específico del tono de llamada

public void setMyRingtone(Ruta de la cadena)

{

Archivo sdfile = nuevo Archivo (ruta);

Valores ContentValues ​​= nuevos Valores ContentValues();

valores.

valores.put( MediaStore.MediaColumns.DATOS, sdfile.getAbsolutePath());

valores.put( MediaStore.MediaColumns.TITLE, sdfile.getName());

Valor.put( MediaStore. MediaColumns.TITLE, sdfile.getName())

valores.put( MediaStore.MediaColumns.MIME_TYPE, "audio/*"); .IS_RINGTONE, verdadero);

valores.put( MediaStore.Audio.Media.IS_NOTIFICATION, verdadero)

valores.put( MediaStore.Audio.Media.IS_NOTIFICATION, falso); /p>

valores.put( MediaStore.Audio.Media.IS_ALARM, falso);

valores.put( MediaStore.Audio.Media.IS_MUSIC, falso

); Uri uri = MediaStore .Audio.Media.getContentUriMedia.getContentUriForPath(sdfile.getAbsolutePath());

Uri newUri = this.getContentResolver().insert(uri, valores

); RingtoneManager.setActualDefaultRingtoneUri( this, RingtoneManager.TYPE_RINGTONE, newUri);

Toast.makeText( getApplicationContext (), "¡Establezca correctamente el tono de llamada para las llamadas entrantes! ", Toast.LENGTH_SHORT ).show();

System.out.println("setMyRingtone() ----- tono de llamada");

}

//Configuración: implementación específica del sonido de alarma

public void setMyNotification(Ruta de cadena)

{

Archivo sdfile = new File(ruta); /p>

Valores de ContentValues ​​= nuevos Valores de contenido();

valores.

valores.put(MediaStore.Audio.Media.IS_NOTIFICATION, true <); /p>

valores.put(MediaStore.Audio.Media.IS_ALARM, falso);

valores.put(MediaStore.Audio.Media.IS_MUSIC, falso

Uri uri = MediaStore.Audio); .Media.getContentUriForPath(sdfile.getAbsolutePath());

Uri newUri = this.GetContentResolver(sdfile.getAbsolutePath())getContentResolver().insert(uri, valores

); RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager. TYPE_NOTIFICATION, newUri);

Toast.makeText( getApplicationContext (), "¡Establecí el tono de notificación correctamente!", Toast.LENGTH_SHORT ).show(); p> System.out.println("setMyNOTIFICATION----- tone");

}

//Configuración: implementación específica del tono de alarma

public void setMyAlarm(ruta de cadena)

{

Archivo sdfile = nuevo Archivo(ruta

Valores de ContentValues ​​= nuevos ContentValues();

valores.put(MediaStore.MediaColumns.DATA, sdfile.getAbsolutePath());

valores.put(MediaStore.MediaColumns.TITLE, sdfile.getName()); p>

valores.put(MediaStore.MediaColumns.MIME_TYPE, "audio/*");

valores.put(MediaStore.Audio.Media.IS_RINGTONE, falso

valores.

valores.put( MediaStore.Audio.Media.IS_NOTIFICATION, falso

valores.put( MediaStore.Audio.Media.IS_ALARM, verdadero

valores.put( MediaStore.Audio.Media.IS_MUSIC, false);

Uri uri = MediaStore.Audio.Media.getContentUriForPath(sdfile.getAbsolutePath()); > Uri newUri = this.getContentResolver().insert(uri, valores);

RingtoneManager.setActualDefaultRingtoneUri(this, RingtoneManager. TYPE_ALARM, newUri

Toast.makeText();

getApplicationContext (), "¡Establezca el tono de alarma correctamente!", Toast.LENGTH_SHORT ).show();

System.out.println("setMyNOTIFICATION------ tono de alarma"); >

}

2.

2. Si lee archivos de audio de la biblioteca multimedia y los configura como tonos de llamada, utilice el siguiente método:

Primero escriba una clase constante (una etiqueta que define el tipo de tono de llamada que desea configurar):

AppConstant.java

Código Java

Interfaz pública AppConstant {

public static final int RINGTONE = 0; //Tono de llamada

public static final int NOTIFICATION = 1; //Tono de notificación

public static final int ALARMA = 2 ; //Despertador

public static final int ALL = 3; //Todos los sonidos

}

Este método necesita pasar el tono de llamada que desea. establezca como ruta completa (por ejemplo,

código Java

private void setVoice(String path2,int id)

{

<). p> ContentValues ​​​​cv = new ContentValues();

Uri newUri = null

Uri uri = MediaStore.Audio.Media.GetContentUriFor.GetContentUriForPath(path2); >

// Consultar música ¿Existe el archivo en la biblioteca multimedia?

Cursor cursor = this.getContentResolver().query(uri, null, MediaStore.Audio.MediaColumn.DATA)MediaColumns.DATA + "=?", nueva Cadena[] { ruta2 },null

if (cursor.moveToFirst() && cursor.getCount() > 0)

{

String _id = cursor. getString (0);

switch (id) {

case AppConstant.put(MediaStore.Audio.Media.IS_MUSIC, false);

ruptura;

caso AppConstant.NOTIFICACIÓN:

cv.put(MediaStore.Audio.Media.IS_RINGTONE, falso

);