Cómo configurar el tono de timbre con RingtoneManager.ACTION_RINGTONE_PICKER?
Trato de encontrar la solución aquí, pero sólo hay solución para el archivo propio / seleccionado, no para el código cuando llamo selector. Utilizo el siguiente código cuando el usuario pulsa el botón:
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:"); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION); ActivityCurrent.this.startActivityForResult(intent,999);
Este selector de ringtone show, el usuario puede elegir lo que quiere ringtone, pero me faltan dos cosas: – no muestra el tono de llamada actual cuando se abre – no guardar ringtone cuando se hace clic en OK
- Mostrar selector de fechas con mes y año sólo para lollipop 5.0 en android
- Selector de fecha de Android: deshabilitar fechas de vacaciones y fin de semana
- Cambio de estilo TextView state_pressed / state_focused / state_selected
- Problema al seleccionar el color del selector ListView cuando se pulsa
- Estado de artículo personalizado para selectores de android
Todavía no puedo encontrar la manera de abrir RINGTONE_PICKER con el tono de timbre actual ya seleccionado. ¿Alguna idea?
Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select ringtone for notifications:"); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_SILENT, false); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_SHOW_DEFAULT, true); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE,RingtoneManager.TYPE_NOTIFICATION); ActivityCurrent.this.startActivityForResult(intent,999);
- Cambiar el color del elemento de vista de lista seleccionado
- ¿Cómo cambio el tinte de un ImageButton en el enfoque / presione
- ¿Por qué android: listSelector cambia incorrectamente de Actividad a Actividad
- El botón de imagen de 9 parches de Android no está escalado según lo previsto
- Android: ¿Cómo lograr el efecto de resplandor cuando presiona un elemento de lista con mucho tiempo?
- Selector de color de Android
- Android: textColor del botón deshabilitado en el selector no se muestra?
- Android GridView Elemento seleccionado Fondo
Debe implementar onActivityResult()
para recibir el resultado de la selección del usuario y, a continuación, guardarlo.
if (resultCode == RESULT_OK) { Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); if (uri != null) { String ringTonePath = uri.toString(); }
Aquí un ejemplo: http://www.ceveni.com/2009/07/ringtone-picker-in-android-with-intent.html
EDIT: actualizar
RingtoneManager.setActualDefaultRingtoneUri( myActivity, RingtoneManager.TYPE_RINGTONE, uri);
Debes llamar a esto 🙂
Intent intent=new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, ringtone); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_DEFAULT_URI, ringtone); startActivityForResult(intent , 1);
"Ringtone" es el uri en el que estoy guardando el tono seleccionado en onActivityResult()
.
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == RESULT_OK) { switch (requestCode) { case 1: ringtone = data.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI); // Toast.makeText(getBaseContext(),RingtoneManager.URI_COLUMN_INDEX, // Toast.LENGTH_SHORT).show(); break; default: break; } } }
Espero que te ayude. Hit respondió si lo hace.
Este código mostrará el tono predeterminado que el usuario establece antes cuando se utiliza el selector de tonos.
Utilice debajo del código en el botón para la intención del tono de llamada.
public void pickRingtone(View view) { // TODO Auto-generated method. stub Intent intent = new. Intent(RingtoneManager.ACTION_RINGTONE_PICKER); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_RINGTONE); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_TITLE, "Select Ringtone"); // for existing ringtone Uri urie = RingtoneManager.getActualDefaultRingtoneUri( getApplicationContext(), RingtoneManager.TYPE_RINGTONE); intent.putExtra(RingtoneManager.EXTRA_RINGTONE_EXISTING_URI, urie); startActivityForResult(intent, 5); }
El código es perfecto y funciona para mí. Pero te olvidaste de mencionar los permisos necesarios … aquí está. Probar este código .. espero que ayude
<uses-permission android:name="android.permission.WRITE_SETTINGS" ></uses-permission> <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" ></uses-permission> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" ></uses-permission>
- Webview no puede cargar archivo html desde la tarjeta sd
- ¿Puedes autolink las fechas en la vista web de android?