[英]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.