我有一個應用程序可以在External storage
分區或內置/外部SD卡的標準設備上正常工作。但是最近我切換到Acer平板電腦進行測試,所有文件操作都被打破。無法訪問內部存儲器上的公共文件夾
該平板電腦只有Internal storage
,標準公用目錄位於其上(下載,DCIM等)。我有一個存儲庫檢查是否可用,如果沒有 - 配置爲使用內部。但是,我完全無法訪問公共目錄,無論有沒有圖書館。這裏是我的印象:
會檢測到外部分區,
Environment.getExternalDirectory()
返回一些公共文件夾,MEDIA_MOUNTED(讀/寫)狀態,但我不能寫,讀,在所有創建的任何目錄(讀/寫Manifest.xml
的權限設置正確);/sdcard是空的,如果從某個地方訪問,而不是從另一個,一些伏都教符號鏈接魔術,我猜...另一方面,當我切換到使用
Internal storage
,我只能寫文件到應用程序私人文件夾(com/myapp /.../ app_)/ sdcard無法訪問,但實際上它位於內部。- 試圖使用
Intents
和ContentResolvers
爲了讓Android操作系統 本身決定如何獲取/提供訪問數據和公共內部目錄。即使它工作,我也需要完全重新實現我的FileUtils和FilePicker,僅僅是因爲那個特定的設備。(該應用在多個平板電腦,手機,模擬器上正常工作...) adb shell
from terminal give me直接訪問公共內部目錄;Android Device Monitor
不;
有任何意見表示讚賞。謝謝。
https://developer.android.com/training/permissions/requesting.html – 1615903
非常感謝,1615 ...!這解決了問題。 – speirs23