我在我的应用程序中使用aFileChooser android库项目从外部存储中选择文件。但它似乎并没有选择目录让用户选择下载位置来下载文件。 有没有支持pick文件和pick目录的android库项目?
我知道这里已经回答了多个问题,无论是文件选择器还是目录选择器,但经过大量搜索后,我找不到目录和文件选择器的问题。 任何帮助将不胜感激。
答案 0 :(得分:14)
我没有安卓库项目,但您只需使用下一个代码创建自己的文件选择器。此代码将要求您选择文件浏览器,当您在文件浏览器中选择文件时,您将获得FilePath字符串中onActivityResult函数的路径。
创建此公开:
private static final int ACTIVITY_CHOOSE_FILE = 3;
单击按钮时,您可以调用:
Intent chooseFile;
Intent intent;
chooseFile = new Intent(Intent.ACTION_GET_CONTENT);
chooseFile.setType("file/*");
intent = Intent.createChooser(chooseFile, "Choose a file");
startActivityForResult(intent, ACTIVITY_CHOOSE_FILE);
您可以使用以下代码捕获目录:
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode != RESULT_OK) return;
String path = "";
if(requestCode == ACTIVITY_CHOOSE_FILE)
{
Uri uri = data.getData();
String FilePath = getRealPathFromURI(uri);
}
}
public String getRealPathFromURI(Uri contentUri) {
String [] proj = {MediaStore.Images.Media.DATA};
Cursor cursor = getContentResolver().query( contentUri, proj, null, null,null);
if (cursor == null) return null;
int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
return cursor.getString(column_index);
}
修改强> 如果您不想使用外部文件浏览器,可以将此android库导入您的项目: https://code.google.com/p/afiledialog/