如何访问外部和内部存储?
我其实想要访问Android系统上的文件。 我设法读取android外部存储中的文件和目录。 我的问题是:
默认情况下,应用无法访问其他应用存储的数据。 权限应用于内部存储,使应用程序编写的数据无法在应用程序之外访问(您的应用程序无法读取其他应用程序编写的任何内容)。 这可以在应用程序可以为ITS OWN数据指定不同权限的情况下进行更改; 基本上,应用程序可以允许其他人读取其数据。 但是,如果某个应用没有专门设置其权限来允许此操作,则其他应用无法访问其数据。 这是Android安全/隔离模型的一个基本原则,是在Linux /内核级别完成的,因为每个应用都在它自己的Linux UID下运行,并且在文件系统中设置了权限,只允许该UID访问应用的目录结构(组并且世界权限默认设置为0)。
如果您有权访问设备上的根目录(根目录电话和您的应用以root用户权限运行),则所有这些都会消失,但我们应该考虑您的问题的范围。
外部(SD卡)存储的不同之处在于它被认为是免费的,并且没有在那里应用权限(这原本是由于SD中通常使用的文件系统不支持许可权)。 任何应用程序通常都可以读取任何其他应用程序写入SD卡的任何内容,除非原始应用程序做了某些事情来保护它(加密等)。
这一点在O'Reilly刚刚发表的Android平台的应用安全中有详细的解释。
您必须编写FileProvider以使用其他应用程序访问特定于应用程序的文件。
链接地址: http://www.djcxy.com/p/85133.html上一篇: How To Access External and internal storage?
下一篇: what are the limits?