java - 您可以在 Android 中打开多个文件吗?

标签 java android android-studio

我正在尝试在 Android Studio 中编写一个应用程序来打开多个音乐文件并存储它们的路径。目前我所做的只是一次加载一个文件,这没有问题。例如 - 下面的代码显示了我的加载按钮和相关代码的 onclicklister。此示例的一些代码已被简化。用户单击应用程序中的加载按钮,然后使用他们安装的任何文件管理器来选择一个文件,然后将 Uri 传回我的应用程序。一切都很好。但是,是否可以选择多个文件并将它们作为文件数组传递回我的应用程序?因此,用户可能会选择 5 或 6 个音频文件,而不是选择单个音频文件。

如果是这样,你是怎么做到的?非常感谢。

无论如何-我是什么

final View.OnClickListener mGlobal_OnClickListener = new View.OnClickListener() {
    public void onClick(final View v) {

        int resID2 = v.getId();

        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
        intent.setType("audio/*");
        try {
            startActivityForResult(intent,resID2); }
        catch (Exception e) {
            Toast.makeText(getApplicationContext(), "Please install a file manager",Toast.LENGTH_LONG).show();
        }
    }
};


public void onActivityResult(int requestCode, int resultCode, Intent result) {

    if (resultCode == RESULT_OK)
    {
        Uri data = result.getData();
        String thePath = data.getPath();
        // Do something with the file path
    }
}

最佳答案

为了创建一个选择器来选择多个文件,您必须为您的 Intent 添加额外的值。

Intent chooseFile = new Intent(Intent.ACTION_GET_CONTENT);  
chooseFile.setType("audio/*");  
chooseFile.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
startActivityForResult(Intent.createChooser(chooseFile, "Choose a file") , 2);

注意:以上方法仅适用于 API 级别 18 及以上。要在您的应用中支持 API 级别 < 18,请使用一些库项目,例如 Android Multiple File Selector Dialog .

关于java - 您可以在 Android 中打开多个文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25720252/

相关文章:

java - Java中使用比较器错误的TreeMap构造函数

android - android x 库中 ChromeCustomTabs 的新名称是什么?

java - Android Studio MainActivity 类无法连接到本地 Mysql Workbench

Android 谷歌地图 [React Native?] "API key not found. Check that.."错误

java - 多线程 Java Web 服务器 - java.net.SocketTimeoutException

java - 返回数组方法的奇怪输出

android - Android Studio v0.2.x 中如何查看项目树?

android - 从 Android Studio 运行时 Genymotion 找不到 VirtualBox

javax.el.PropertyNotFoundException : Property 'AuthFirstName' not found on type entity.

android - 运行此 AVD 需要 KVM。未知错误!请提交针对 Android Studio 的错误