4

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

  1. 默认文件管理器
  2. ASTRO-文件管理器-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);

当我可以选择Astro File ManagerRoot BrowserDefault File Manager我得到的位置路径为/mnt/sdcard

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

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

4

1 回答 1

5

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

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

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

于 2012-08-15T16:39:57.583 回答