Android:目录和文件选择器安卓库

Pra*_*ant 10 android picker filechooser

我在我的应用程序中使用aFileChooser android库项目从外部存储中选择文件.但它似乎不会只选择目录让用户选择下载文件的下载位置.有没有支持pick文件和pick目录的android库项目?

我知道这里已经回答了多个问题,无论是文件选择器还是目录选择器,但经过大量搜索后,我找不到一个用于目录和文件选择器的问题.任何帮助,将不胜感激.

DeG*_*seZ 15

我没有android库项目,但您可以使用下一个代码简单地创建自己的文件选择器.此代码将要求您选择文件浏览器,当您在文件浏览器中选择文件时,您将获得FilePath字符串中onActivityResult函数的路径.

创建此公开:

private static final int ACTIVITY_CHOOSE_FILE = 3;
Run Code Online (Sandbox Code Playgroud)

单击按钮时,您可以调用:

            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);
Run Code Online (Sandbox Code Playgroud)

您可以使用以下代码捕获目录:

    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);
}
Run Code Online (Sandbox Code Playgroud)

编辑: 如果您不想使用外部文件浏览器,可以将此Android库导入您的项目:https: //code.google.com/p/afiledialog/

  • 我还没有测试过这个,但似乎有一个很好的'如何':https://code.google.com/p/afiledialog/ (2认同)