[英]How To Access External and internal storage?
我實際上想訪問android系統上的文件。 我設法讀取android的外部存儲器中的文件和目錄。 我的問題是:
默認情況下,應用無法訪問其他應用存儲的數據。 權限應用於內部存儲,使應用程序寫入的數據無法在該應用程序外部訪問(您的應用程序無法讀取其他應用程序編寫的任何內容)。 這可以更改,其中應用程序可以為ITS OWN數據指定不同的權限; 基本上,應用程序可以允許其他人讀取其數據。 但是,如果某個應用未明確設置其權限以允許此操作,則其他應用無法訪問其數據。 這是Android安全/隔離模型的基本原則,在Linux /內核級別完成,因為每個應用程序在其自己的Linux UID下運行,並且在文件系統中設置權限,僅允許UID訪問應用程序的目錄結構(組)和世界權限默認設置為0)。
如果你有權訪問設備上的root(root用戶手機和你的應用程序以root權限運行),這一切都會消失,但我們應該考慮你的問題超出范圍。
外部(SD卡)存儲的不同之處在於它被認為是免費的,並且不會在那里應用權限(這最初是由於SD中通常使用的文件系統不支持權限)。 任何應用程序通常都可以讀取任何其他應用程序寫入SD卡的任何內容,除非原始應用程序執行某些操作來保護它(加密等)。
這一點在O'Reilly剛剛發布的Android平台應用程序安全性中進行了詳細解釋。
您必須編寫FileProvider以使用其他應用程序訪問特定於應用程序的文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.