安卓:打开对话框选择音频(Android: open dialog for select audio

2019-09-21 09:45发布

我需要让用户从自己的媒体库中的一些audiofile的。

这里就是我想要做的事:

        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和一些宏碁)。 但是,如果我尝试从第二个变型这个答案 ,然后我得到了所有我现有的文件管理器菜单,并以“选择音乐”呢! 但我需要写意图只是为了打开这个“选择音乐”。

Answer 1:

好吧,我已经看到了logcat的,当我打开音乐选择对话框中会发生什么,我得到了我所需要的。 此代码的工作对我来说:

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

如果我想,说,通知只声音,然后我需要把多余的,就像这样:

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


文章来源: Android: open dialog for select audio