2012-08-09 28 views
3

我已经安装了不同类型的文件管理器。文件管理器的不同类型的如何在android中访问不同的文件管理器特定路径?

  1. 默认的文件管理
  2. ASTRO-文件管理器 - v3.1.342.apk(天文)
  3. 文件管理器,1.2.apk(OI文件管理器)
  4. 根浏览器的文件 - 经理 - v1.4.0.apk(根浏览器)

代码:

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/sdcard

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

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

+0

'私有静态最终int PICKFILE_RESULT_CODE = 1;' – Sekar 2012-08-10 05:13:24

+0

你能帮我一个。如何直接使用文件管理器作为'Astro File Manager','Root Browser','OI File Manager'和'Default File Manager'打开这个路径'/ mnt/sdcard/Pictures'。谢谢。 – Sekar 2012-08-13 09:19:41

回答

4

指定初始路径的文件浏览器?你不能。

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

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

+0

小鼠感谢您的回复。我可以直接访问内部存储器和/或外部存储器。我的Android Mobile内存路径是/ mnt/sdcard,外部存储路径是/ mnt/extsdcard。我可以直接访问内部/外部内存路径吗?这可能吗? – Sekar 2012-08-20 11:16:30

+0

您可以在设备的大容量存储器(内部或外部)中正常读写。您可能需要WRITE_EXTERNAL_STORAGE权限。 – 2012-08-20 11:22:48

+0

老鼠谢谢你。你的解释对我很有用。你可以在这里发布任何一个示例/部分代码。如何访问内部和外部的大容量内存。我可以在哪里改变内部和外部记忆的路径。引导我。谢谢。 – Sekar 2012-08-20 12:21:28

相关问题