2012-06-03 34 views
0

IM使用此代碼訪問文件夾:在只有內部存儲器的設備上使用environment.getexternalstoragedirectory的android訪問文件夾會返回?

String path = Environment.getExternalStorageDirectory().getAbsolutePath()+ "/somefolder"; 

與SD卡的設備,這是好的,我沒有,只有內部存儲設備,測試會發生什麼,如果這是執行上會發生什麼沒有SD卡的設備?它會自動設置爲內部存儲器路徑嗎? 應用程序的用戶會將此文件夾放入可用內存的根目錄中。

有沒有辦法獲得內部路徑?

有沒有辦法檢查兩個根,看看這個文件夾是否存在?

回答

0

有幾種不同類型的「內部」存儲。

在最初的幾個android設備上,他們有內部存儲器,這是存儲操作系統和安裝的應用程序的分區。現代設備仍然具有這種內部存儲(現在可以看到在高端設備上會看到1-2GB這種類型的存儲)。該存儲區域對用戶是不可訪問的(除非它們是根源的)。

其他類型的「內部」存儲空間通常要大得多,並且可供用戶訪問。這種類型的存儲通常在沒有SD卡的設備上找到。截至目前(2012年6月),我認爲8或16GB是這類存儲的最常見尺寸。

因此,在沒有SD卡的設備上,您的方法將返回導致第二種「內部」存儲的路徑。實際上,這裏發生的事情是他們將閃存放入設備中,基本上使操作系統看起來像SD卡一樣,但沒有卸載/刪除的選項。

+0

完美!感謝名單!這是我需要知道的,我也發現這個,「公共靜態布爾isExternalStorageRemovable() 因爲:API級別9 返回主」外部「存儲設備是否可移動。如果返回true,則此設備是例如一個SD卡,用戶可以刪除,如果返回false,則存儲內置於設備中,不能被物理移除。「這支持你的答案! :) thanx再次! – user1429371

相關問題