通过Intent从文件管理器中选择文件

时间:2015-09-29 22:07:58

标签: android file android-intent

我想做什么:

我想把路径作为文件的字符串,我通过Android文件管理器选择。

我有什么:

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

这段代码对我来说效果不错,但有一个问题。我只能使用以下应用选择我的文件:

enter image description here

我的问题:

有没有人有通过Android文件管理器选择任何文件的工作代码?

2 个答案:

答案 0 :(得分:17)

使用此:

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

对于三星设备打开文件管理器,请使用:

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

更多参考结帐http://developer.android.com/guide/topics/providers/document-provider.html

答案 1 :(得分:2)

因此,对于我的三星设备,这是有效的:

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);