3

我的示例应用程序是打开文件选择器并选择文件/目录,然后将路径放入 EditText,我尝试了这个问题中的方法,我得到了这个结果

    public class MainActivity extends AppCompatActivity {
    private Button browse;
    private EditText editTextPath;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        browse = (Button) findViewById(R.id.browse);
        editTextPath = (EditText) findViewById(R.id.path);
        browse.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
                intent.setType("*/*");
                intent.addCategory(Intent.CATEGORY_OPENABLE);
                startActivityForResult(Intent.createChooser(intent,"Select file or dir"), 1);
                setResult(Activity.RESULT_OK);
            }
        });


    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 1 && resultCode == Activity.RESULT_OK) {
            String Fpath = data.getDataString();
            editTextPath.setText(Fpath);
        }

    }
}

Android文件选择器

我想将这样的内部和外部存储添加到文件选择器

AndroidFileChooser2

4

2 回答 2

3

用户可以点击操作栏中的“...”提示并选择“显示内部存储”以显示这些选项。

没有官方支持任何内容ACTION_GET_CONTENTACTION_OPEN_DOCUMENT自动显示内部存储选项,但希望有一天会支持。

于 2018-01-16T21:32:53.137 回答
0

你必须使用Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT_TREE); instedIntent intent = new Intent(Intent.ACTION_GET_CONTENT );

于 2018-03-20T10:37:09.563 回答