3

我有一个按钮,我想打开任何文件管理器,并允许用户只选择音频文件。所以我写了这样的东西:

Intent intent = new Intent();
intent.setType("audio/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(Intent.createChooser(intent, "Select audio", SELECTED_AUDIO);

但是,这不起作用-它打开文件管理器(在我的情况下为Astro)和voalaaa-我可以查看并选择我想要的任何文件-我的意思是文本文件、视频文件等。简单它不会过滤或检查任何东西......我做错了什么?还是Astro的错?我只想显示音频文件,或显示所有文件但只允许选择音频。

4

1 回答 1

3

我究竟做错了什么?

没有。

还是Astro的错?

有点。您假设 Astro 知道其所有文件的 MIME 类型,并且它实际上会使用 MIME 类型来过滤结果。没有什么可以迫使 Astro 做这两件事。这同样适用于任何文件管理器或任何其他响应ACTION_GET_CONTENTfor 的东西audio/*。现在,如果 Astro 可以进行过滤或其他操作,那就太好了,但这是您必须解决的问题。

于 2012-08-25T16:41:42.040 回答