Select File from file manager via Intent

2020-07-06 03:02发布

What I wanna do:

I wanna get the path as a String of a file, which I choose via an Android File Manager.

What I have:

Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("*/*");
startActivityForResult(Intent.createChooser(intent, "Open with ..."), FILE_SELECT_CODE);

This code, works nearly fine for me, but there is one problem. I can only select my file with the following apps:

enter image description here

My Question:

Does anyone have a working code for choosing any file via the Android File Manager?

2条回答
▲ chillily
2楼-- · 2020-07-06 03:41

So for my Samsung device this worked:

Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
intent.addCategory(Intent.CATEGORY_DEFAULT);
startActivityForResult(intent, FILE_SELECT_CODE);
查看更多
狗以群分
3楼-- · 2020-07-06 03:53

Use this:

    Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("*/*"); 
    startActivityForResult(intent, REQUEST_CODE);

For samsung devices to open file manager use this:

Intent intent = new Intent("com.sec.android.app.myfiles.PICK_DATA");
intent.putExtra("CONTENT_TYPE", "*/*");
intent.addCategory(Intent.CATEGORY_DEFAULT);

For more reference checkout http://developer.android.com/guide/topics/providers/document-provider.html

查看更多
登录 后发表回答