如何在android中访问不同的文件管理器特定路径?

Sek*_*kar 4 android android-intent

我安装了不同类型的文件管理器。不同类型的文件管理器是

  1. 默认文件管理器
  2. ASTRO-File-Manager-v3.1.342.apk(Astro)
  3. FileManager-1.2.apk(OI 文件管理器)
  4. Root-Browser-File-Manager-v1.4.0.apk(Root Browser)

代码 :

File filePath = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/Pictures");
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setDataAndType(Uri.parse("file:/"+filePath.getAbsolutePath()), "file/*");
startActivityForResult(intent,PICKFILE_RESULT_CODE);
Run Code Online (Sandbox Code Playgroud)

当我可以选择Astro File Manager, 时Root BrowserDefault File Manager我的位置路径为/mnt/sdcard.

但是当我访问时,OI File Manager我的位置路径为/mnt/sdcard/Pictures.

如何获取并打开不同类型的文件管理器以访问位置路径 /mnt/sdcard/Pictures

Poi*_*ull 5

指定文件资源管理器的初始路径?你不能。

阅读ACTION_GET_CONTENT 的文档。使用此操作的合同根本没有指定初始位置。所以各种文件管理器做不同的事情,都是合法的和正确的。有些使用您尝试输入的数据,有些使用用户所在的最后一个目录,有些从 sdcard 的根目录开始。

顺便说一句,您的 mime 类型“file/*”看起来像废话,没有已知的 mime 类型。只需使用“*/*”来匹配所有文件。