Android 4.4巨變:應用在SD卡上有了專屬區
Android 4.4 KitKat雖然已經發佈很久了,還升級了好多次,但在浩如煙海的源代碼中,依然隱藏著大量的新東西等待挖掘,比如第三方應用對SD卡的訪問。 Android 系統手機有一套自己的存儲管理制度:幾乎任何類型的存儲設備都被稱為“外部存儲”(external storage),包括內部的NAND閃存,這個叫做“主要存儲”(primary storage),而其他的一切都是“次要存儲”(secondary storage),比如SD卡。 隨著 Android 系統的不斷升級,第三方應用對存儲的訪問權限控制經過了多次調整,詳細三說起來就複雜了,這裡重點說最早、最常用的寫入要求權限“ WRITE_EXTERNAL_STORAGE ”,它可以讓應用寫入主要存儲(內置閃存),但不能寫入次要存儲(SD卡)。 Android 4.4裡邊,對於對所有外部存儲,其上的文件屬性都改為基於文件夾結構,應用無需獲取WRITE_EXTERNAL_STORAGE權限,即可在外部存儲上管理與自己包名相關的文件夾。舉例來說,如果應用的包名是name com.example.foo,那麼外部存儲上的Android/data/com.example.foo/文件夾就是它的了,可隨意訪問。 這其中也包括SD卡,第三方應用可以在上邊創建一個屬於自己的專區,隨意讀寫、刪除,就像在內置存儲是各樣。 除此文件夾之外的其他地方,第三方應用仍然會被嚴格限制,得不到寫入和刪除權限。 不過這也存在一個潛在風險:SD卡是可以隨意插拔的,可以在電腦上訪問,因此可能會導致洩密。 另外需要特別注意的是,應用卸載的時候,在SD卡上創建的相應文件夾、數據都會被同時完全刪除,所以如果有照片、文檔等個人資料,應當避免這麼做。 最後,U盤等設備的訪問控制不在本文討論範圍之內。 最後的最後, Android 系統有自己的標準,OEM廠商、ROM開發者又有各自的一套,經常不會嚴格遵循Google制定的規則,因此剛才說的種種不一定會出現在你的手機裡。 [size=15.454545021057129px]內容由新浪北京提供
|