我安装了不同类型的文件管理器。不同类型的文件管理器是
- 默认文件管理器
- ASTRO-File-Manager-v3.1.342.apk(Astro)
- FileManager-1.2.apk(OI 文件管理器)
- 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 Manager
、Root Browser
、Default File Manager
时,我得到的位置路径为 /mnt/SD卡
.
但是当我访问 OI 文件管理器
时,我得到的位置路径为 /mnt/sdcard/Pictures
。
如何获取和打开不同类型的文件管理器访问位置路径为/mnt/sdcard/Pictures
指定文件资源管理器的初始路径?你不能。
阅读 ACTION_GET_CONTENT 的文档.使用此操作的契约(Contract)根本没有指定初始位置。所以不同的文件管理器做不同的事情,这都是合法和正确的。有些使用您尝试输入的数据,有些使用用户所在的最后一个目录,有些从 sdcard 的根目录开始。
顺便说一句,您的 mime 类型“file/*”看起来像胡说八道,没有这样已知的 mime 类型。只需使用“*/*”即可匹配所有文件。
我是一名优秀的程序员,十分优秀!