如何访问外部和内部存储?

我其实想要访问Android系统上的文件。 我设法读取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?