我试图在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
}
}
答案 0 :(得分:5)
为了创建一个选择器来选择多个文件,你必须为你的意图增加一个额外的值。
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这样的图书馆项目。