Ped*_*yoo 9 android android-intent mime-types
我想知道我是否可以启动一个Intent来查看带有文件浏览器的目录(如果设备上安装了一个),那么我可以打开这样的文件夹:
Intent intent = new Intent(Intent.ACTION_VIEW);
Uri uri = Uri.parse("file:///sdcard/MyFolder");
intent.setDataAndType(uri, "MIME TYPE FOR FOLDERS");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这是一个古老的问题,但我注意到在任何答案中实际上都没有正确指定目录 MimeType。我在 SAF(存储访问框架)android-StorageProvider的 Google 代码示例中发现了这一点:
DocumentsContract.Document.MIME_TYPE_DIR
Run Code Online (Sandbox Code Playgroud)
这是哪个字符串:
vnd.android.document/directory
Run Code Online (Sandbox Code Playgroud)
所以对于最初的问题:
Uri uri = Uri.parse(getFilesDir().getPath());
int OPEN_REQUEST = 1337;
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setDataAndType(uri, DocumentsContract.Document.MIME_TYPE_DIR);
startActivityForResult(intent, OPEN_REQUEST);
Run Code Online (Sandbox Code Playgroud)
但是存储访问框架将为您导航目录。所以你可能只需要这样做:
int OPEN_REQUEST = 1337;
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("*/*");
startActivityForResult(intent, OPEN_REQUEST);
Run Code Online (Sandbox Code Playgroud)
AndExplorer具有供应商 mime 类型,可将 AndExplorer 用作文件选择器:
vnd.android.cursor.dir/lysesoft.andexplorer.directorvnd.android.cursor.dir/lysesoft.andexplorer.file有关更多信息,请参阅AndExplorer 的开发人员文档。我认为其他文件浏览器具有类似的功能,但我还没有找到他们的文档。
| 归档时间: |
|
| 查看次数: |
6689 次 |
| 最近记录: |