gpt4 book ai didi

安卓 4.4 : is WRITE_EXTERNAL_STORAGE permission effective on primary external storage/mnt/sdcard?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:14:49 25 4
gpt4 key购买 nike

Android 4.4 访问外部存储的新规则似乎破坏了许多应用程序。

根据这个:http://source.android.com/devices/tech/storage/ (仔细阅读)似乎 WRITE_EXTERNAL_STORAGE 权限不再授予对 Android 4.4 中/mnt/external_sd 路径的辅助可移动存储的访问权限。他们说应用程序只能访问辅助可移动存储上的私有(private)文件夹,当应用程序被删除时,它也会被删除。

现在,我认为,根据隐含的内容,WRITE_EXTERNAL_STORAGE 将改为授予对主要外部存储/mnt/sdcard 的访问权限。

如果为真,则有可能,例如,我的应用程序启动另一个应用程序并向其提供主外部存储中的 file://url,然后被调用的应用程序可以编辑文件并将其保存到同一个路径,前提是它具有 WRITE_EXTERNAL_STORAGE 权限。

Android 4.4 是否以这种方式处理主要外部存储访问?

最佳答案

你是对的,但要了解原因,让我们来看看不同类型的外部存储及其权限系统的详细信息。

主要外部存储

在 KitKat 外部存储模型中,每个应用程序都被授予访问主要外部存储上的特殊主目录的权限。应用始终可以读取和写入这些外部主目录的内容, 无需特殊权限。但是,与应用程序的内部主目录不同,外部主目录在某些情况下也可以被其他应用程序访问。 READ_EXTERNAL_STORAGE 为应用程序提供对主要外部存储器的完全 读取访问权限,即使是那里的所有主目录也是如此。然而,WRITE_EXTERNAL_STORAGE 授予对主要外部存储的写入读取权限。现在让我们问一下,如果任何持有上述权限的人都可以篡改它们,为什么还要有一个主目录?原因是那些新的外部主目录并不意味着安全边界。它们的特别之处在于,Android 会在卸载拥有的应用程序后立即自动删除它们,因此我们在这里进行了自动清理。这也意味着您根本不应将应用程序的私有(private)数据(如凭据)或可利用的内容(如配置文件)存储在外部存储器上。同样不错的是,媒体扫描器会忽略那些主目录。另请记住,这部分内存可以安装在 Android 有效失去对数据的控制的计算机上。

二级外部存储

在这里,外部主目录的概念再次出现,应用程序可以在不需要许可的情况下存储它们的数据。同样,这些特殊目录会在所有者应用程序卸载时自动删除,并且不提供安全性,因为 sd 卡可以在计算机上任意安装和修改。但是与主外部存储相比,主目录之外的所有数据在这里都是只读的。所以实际上没有写访问权限,因为这根本不是有意的。

你的例子对于您的示例,您是绝对正确的,因为已启动的应用程序被赋予文件 URI 可以任意修改它,前提是它具有正确的权限。

如果你对更多细节感兴趣,那些帖子herehere提供对新存储模型的出色洞察。

关于安卓 4.4 : is WRITE_EXTERNAL_STORAGE permission effective on primary external storage/mnt/sdcard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24704241/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com