簡體   English   中英

Android 4.4:WRITE_EXTERNAL_STORAGE權限對主外部存儲/ mnt / sdcard有效嗎?

[英]Android 4.4: is WRITE_EXTERNAL_STORAGE permission effective on primary external storage /mnt/sdcard?

用於訪問外部存儲的Android 4.4新規則似乎打破了許多應用程序。

根據這個: http//source.android.com/devices/tech/storage/ (仔細閱讀)似乎WRITE_EXTERNAL_STORAGE權限不再允許在Android 4.4中使用/ mnt / external_sd路徑訪問輔助可移動存儲。 他們說,應用程序只能訪問輔助可移動存儲上的私人文件夾,並在刪除應用程序時將其刪除。

現在,我認為,根據隱含的內容,WRITE_EXTERNAL_STORAGE將在主外部存儲/ mnt / sdcard上授予訪問權限。

如果是真的,例如,我的應用程序可以啟動另一個應用程序並使用文件:// url在主外部存儲中提供,然后被調用的應用程序可以編輯並將文件保存到同一路徑,前提是它具有WRITE_EXTERNAL_STORAGE權限。

Android 4.4是否以這種方式對主外部存儲訪問起作用?

你是對的,但要看看為什么讓我們看看不同類型的外部存儲及其權限系統的細節。

主要外部存儲

在KitKat外部存儲模型中,每個應用程序都被授予對主外部存儲上的特殊主目錄的訪問權限。 應用程序始終可以讀取和寫入這些外部主目錄的內容, 無需特殊權限。 但是,與應用程序的內部主目錄相反,在某些情況下,其他應用程序也可以訪問外部主目錄。 READ_EXTERNAL_STORAGE為應用程序提供對主外部存儲器的完全讀取訪問權限,即使對於那里的所有主目錄也是如此。 但是,WRITE_EXTERNAL_STORAGE授予主外部存儲的寫入讀取權限。 現在讓我們問一下,如果持有上述許可的人可以篡改他們,為什么要有家庭目錄呢? 原因是那些新的外部家庭目的不是安全邊界。 讓他們與眾不同的是Android會在卸載擁有的應用程序后立即自動刪除它們,因此我們在這里進行了自動清理。 這也意味着您不應該將應用程序的私有數據(如憑據)或可利用的內容(例如配置文件)存儲在外部存儲器中。 同樣好的是媒體掃描儀忽略那些家庭目錄。 另外請記住,這部分內存可以安裝在Android有效失去對數據控制權的計算機上。

輔助外部存儲

在這里,外部家庭目標的概念再次出現,應用程序可以在不需要許可的情況下存儲數據。 同樣,這些特殊的目錄在卸載所有者應用程序時會自動刪除,並且不提供安全性,因為SD卡可以在計算機上任意安裝和修改。 但與主外部存儲相比,家庭目錄外的所有數據都只能在此處讀取。 因此,實際上沒有寫訪問權限,因為根本不打算這樣做。

您的示例使用您的示例,您完全正確的是,已獲得文件URI的已啟動應用程序可以任意修改它,因為它具有正確的權限。

如果您對更多詳細信息感興趣,那么這里這里的帖子可以提供對新存儲模型的深入了解。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM