我需要允许用户从他的媒体库中选择一些音频文件.
这是我正在尝试做的事情:
Intent tmpIntent = new Intent(
Intent.ACTION_PICK,
android.provider.MediaStore.Audio.Media.EXTERNAL_CONTENT_URI
);
startActivityForResult(tmpIntent, 0);
但我得到错误:
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 }
为了安全起见,我也尝试了INTERNAL_CONTENT_URI,但结果类似.
我怎样才能做到这一点?
UPD:顺便说一下,如果我尝试传递URI来获取图像(即android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI),那么它的工作原理是:打开图像打开对话框.
UPD2:刚刚在模拟器上尝试过这个 – 我的代码有效!但在两台设备上却没有(SE Xperia Neo和一些Acer).但是,如果我尝试从this answer开始的第二个变体,那么我将获得所有现有文件管理器的菜单,以及“音乐选择”!但我需要编写Intent才能打开这个“音乐选择”.