una tonos tono samsung predeterminados poner para notificacion musica mensaje llamada hago como cancion java android android-intent android-notifications ringtone

java - predeterminados - tonos de notificacion samsung



Cómo obtener el nombre de tono en Android? (3)

Esto debería conseguirlo:

Ringtone ringtone = RingtoneManager.getRingtone(this, uri); String title = ringtone.getTitle(this);

Consulte http://developer.android.com/reference/android/media/Ringtone.html para obtener la documentación, pero la breve historia: Ringtone.getTitle (Context ctx);

Permitiré que mi usuario elija un tono de llamada para notificaciones en mi aplicación. Quiero almacenar el URI del sonido junto con el título legible por humanos del sonido.

Hasta ahora, el código URI funciona de maravilla:

Uri uri = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_PICKED_URI);

Pero cuando trato de obtener el título y configurarlo como texto de botón, no obtengo nada. Parece que no tiene título?

String title = intent.getParcelableExtra(RingtoneManager.EXTRA_RINGTONE_TITLE); button.setText(title);

Pero el texto de mi botón está vacío. Si lo hago:

button.setText(uri.toString());

entonces veo el uri perfectamente. ¿Debería tratar de obtener el título del URI? Gracias


Tuve problemas con ''MediaPlayer finalizado sin ser lanzado''. Yo uso esto:

Cursor returnCursor = getContentResolver().query(uri, null, null, null, null); returnCursor.moveToFirst(); String title = returnCursor.getString(returnCursor.getColumnIndex(OpenableColumns.DISPLAY_NAME)); returnCursor.close();

Consulte https://developer.android.com/training/secure-file-sharing/retrieve-info.html para obtener la documentación.


Personalmente tuve un problema grave de rendimiento cuando probé la respuesta aceptada, tardó unos 2 segundos en cargar una lista de 30 tonos de llamada. Lo cambié un poco y funciona aproximadamente 10 veces más rápido:

uri = ringtoneMgr.getRingtoneUri(cursor.getPosition()); ContentResolver cr = getContext().getContentResolver(); String[] projection = {MediaStore.MediaColumns.TITLE}; String title; Cursor cur = cr.query(uri, projection, null, null, null); if (cur != null) { if (cur.moveToFirst()) { title = cur.getString(0); cur.close();