Android: diálogo abierto para seleccionar audio

Necesito permitir que el usuario seleccione algún archivo de audio de su biblioteca de medios.

Esto es lo que estoy tratando de hacer:

Intent tmpIntent = new Intent( Intent.ACTION_PICK, android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI ); startActivityForResult(tmpIntent, 0); 

Pero me sale error:

 08-20 17:44:35.444: E/AndroidRuntime(3773): android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.PICK dat=content://media/external/audio/media } 

Para estar seguro, también intenté INTERNAL_CONTENT_URI , pero el resultado es similar.

¿Cómo puedo conseguir esto?

UPD: Por cierto, si trato de pasar el URI para obtener imágenes (es decir, android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI ), entonces funciona: se abre el cuadro de diálogo abierto de imagen.

UPD2: Acabo de probar esto en el emulador – mi código funciona! Pero en dos dispositivos no lo hace (SE Xperia Neo y algunos Acer). Pero si intento la segunda variante de esta respuesta , entonces conseguí el menú con todos mis administradores de archivos existentes, y con "Music select" también! Pero necesito escribir Intent sólo para abrir este "Music select".

Bueno, he visto en LogCat lo que sucede cuando abro la música seleccione el diálogo, y tengo lo que necesito. Este código funciona para mí:

  Intent tmpIntent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); startActivityForResult(tmpIntent, 0); 

Si quiero obtener, por ejemplo, las notificaciones sonidos sólo, entonces tengo que poner más, así:

  Intent tmpIntent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); tmpIntent.putExtra(RingtoneManager.EXTRA_RINGTONE_TYPE, RingtoneManager.TYPE_NOTIFICATION); startActivityForResult(tmpIntent, 0); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.