Android - 将 Intent.ACTION_GET_CONTENT 限制为特定的文件扩展名

标签 android audio android-intent

在我的应用中,我需要从用户的库中获取音频文件。

为此,我将其称为 Intent:

Intent selectIntent = new Intent(Intent.ACTION_GET_CONTENT);
            selectIntent.setType("audio/*");
            startActivityForResult(selectIntent, SONG_REQUEST_CODE); 

通过将“audio/*”作为 setType() 方法的参数,我得到了每个音频文件,独立于它的扩展名。

我需要做的就是将其过滤为仅可选择 .mp3 文件

我试图通过将“.mp3”、“audio/.mp3”作为 setType() 方法的参数来实现,但它们都不起作用。

最佳答案

第 1 步:找到所需文件类型的 MIME 类型。对于 MP3,即 audio/mpeg

第 2 步:将该 MIME 类型传递给 setType(),而不是 audio/*

请注意,ACTION_GET_CONTENT 与文件扩展名无关,部分原因是 ACTION_GET_CONTENT 与文件无关。

关于Android - 将 Intent.ACTION_GET_CONTENT 限制为特定的文件扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46491433/

相关文章:

android - 启用多索引的仪器测试随机失败

jquery - 如果元素具有事件类,则播放音频 - jQuery、BX Slider

android - 如何从 PlaceholderFragment 启动 Intent?

缺少 Android 7 Intent 附加功能

Android:ShareActionProvider 的自定义 XML

java - 从加载本地html的webview中捕获图片

java - Android测试方法中如何mock方法调用?

java - SERVER_ERROR : [code] 1675030 [message]: Error performing query

c# - 如何使用 C++ (C#) 读取 flash 发送的声音流?

Android:从 DataInputStream 读取在模拟器中有效,但在设备上无效