2012-08-09 26 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

相關問題