Java 你能在Android中打开多个文件吗?

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

我正在尝试在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 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,请使用一些库项目,如。

然后用户应使用支持多选的文件管理器。在onActivity结果中,您应该知道具体的内容。我不知道文件管理员是否支持这一点。最好从oopen源代码开始创建自己的源代码。您好,谢谢您的回复。ES文件资源管理器不支持选择多个文件。我只是有点不确定你是如何处理退货的。它是一个文件数组吗?-以前有人这样做过吗?试图避免重新发明轮子,编写新的文件管理器只是为了导入一些文件。感谢您使用ES文件资源管理器选择一个文件?如果是,请说明使用意图。我将进一步研究,因为这是有趣的。。。还是仅仅是发布的代码?选择更多文件时,返回值是否不同?告诉你所知道的…再次你好-道歉我认为我最后的评论有点误导。即使ES文件资源管理器允许您在单独使用时选择多个文件,但在通过我的应用程序中的意图调用时却不允许。您只需选择一个文件,它就会作为Uri返回。我只是想知道我是否错过了一个技巧。很多感谢您以后想对该文件执行的操作与此处的问题无关。这里我们只讨论了如何选择文件名。我已经将上面的答案标记为正确,尽管从技术上来说,我发现我尝试的任何文件浏览器都不支持这种方法。也许是未来需要记住的事情。我也看了上面链接的项目,但不知道如何在Android studio中使用它,所以如果其他人能给我指出另一个可能更好记录的项目,请随时这样做。许多的thanks@Regnodulous:查看在Android Studio中导入项目时是否遇到问题。