外部存储:世界可读的私有?

问题描述 投票:0回答:1

我对android外部storage感到困惑:它是世界可读的,但同时可以保存app-private文件?那不是冲突吗?

此页面介绍Android上可用的不同数据存储选项:1 - 内部文件存储:将app-private文件存储在设备文件系统上。 2 - 外部文件存储:将文件存储在共享外部文件系统上。这通常用于共享用户文件,例如照片。 3 - 共享首选项:将私有原始数据存储在键值对中。 4 - 数据库:将结构化数据存储在私有数据库中。 除了外部存储上的某些类型的文件外,所有这些选项都适用于应用程序专用数据 - 其他应用程序无法自然访问这些数据。

最后一行表示保存在所有这些选项上的大多数文件都是app-private,除了外部存储上的某些类型的文件 - 我的理解是异常是指保存在通过Environment.getExternalStoragePublicDirectory()访问的目录上的文件。

但同样,该文档声明在外部存储上共享的所有文件都是可读的:

保存到外部存储器的文件是世界可读的,当用户启用USB海量存储器在计算机上传输文件时,可以对其进行修改。

然后再次提到app-private文件可以保存到外部存储:

您还可以将文件保存到特定于应用程序的目录中的外部存储,系统会在用户卸载您的应用程序时删除该目录。如果您需要更多空间,这可能是内部存储的有用替代方案,但此处的文件无法保证可访问,因为用户可能会删除存储SD卡。这些文件仍然是世界可读的;它们只是保存到一个不与其他应用共享的位置。

最后一段解释了一些事情,但是如果有人可以详细说明并解释世界上可读的文件是如何私有的?

android local-storage storage
1个回答
0
投票

保存到外部存储器的文件是世界可读的,当用户启用USB海量存储器在计算机上传输文件时,可以对其进行修改。

例如:有一个XYZ文件夹,任何人都可以访问它,任何App ...

您还可以将文件保存到特定于应用程序的目录中的外部存储,系统会在用户卸载您的应用程序时删除该目录。

这里,您的应用程序特定文件可能存储在特定于应用程序的目录中,如ExternalCacheDirs(Android / data / com.package.name)

其他应用无法访问这些文件...

© www.soinside.com 2019 - 2024. All rights reserved.