我在我的应用程序中使用aFileChooser
android库项目从外部存储中选择文件.但它似乎不会只选择目录让用户选择下载文件的下载位置.
有没有支持pick文件和pick目录的android库项目?
有没有支持pick文件和pick目录的android库项目?
我知道这里已经回答了多个问题,无论是文件选择器还是目录选择器,但经过大量搜索后,我找不到一个用于目录和文件选择器的问题.
任何帮助,将不胜感激.
解决方法
我没有android库项目,但您可以使用下一个代码创建自己的文件选择器.此代码将要求您选择文件浏览器,当您在文件浏览器中选择文件时,您将获得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); 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/