类型=“audio / *”的Intent.ACTION_GET_CONTENT不起作用 - 显示所有文件

时间:2012-08-25 16:17:21

标签: android audio android-intent filechooser

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

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

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

1 个答案:

答案 0 :(得分:3)

  

我做错了什么?

没有

  

或者Astro的错?

排序。您假设Astro知道其所有文件的MIME类型,并且它实际上将使用MIME类型来过滤结果。没有什么能迫使Astro做其中任何一件事。任何文件管理器或响应ACTION_GET_CONTENT audio/*的任何其他内容也是如此。现在,如果Astro会进行过滤或其他事情,那将是很好,但这是一个你必须要考虑它们的问题。