gpt4 book ai didi

android - 为什么要对外部文件使用 FileProvider?

转载 作者:太空宇宙 更新时间:2023-11-03 12:53:10 26 4
gpt4 key购买 nike

我理解为什么 FileProvider 对于与另一个应用共享一个应用的私有(private)文件(应用的内部存储中的文件),同时控制权限很有用。

文档解释了如何使用它来共享外部存储(SD 卡等)中的文件:

<external-path name="name" path="path" />

代替

<files-path name="name" path="path" />

( https://developer.android.com/reference/android/support/v4/content/FileProvider.html )

这有什么意义?为什么需要为此使用 FileProvider?另一个应用程序已经可以访问外部存储,因此任何其他应用程序需要的只是文件路径,而不是 URI。我错过了什么?

最佳答案

The other app already has access to the external storage

不一定。如果他们不持有 READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限,他们无权访问外部存储。

此外,如果在某个时间点对外部存储有更大的限制(例如,Android Work 计划中的“工作”和“家庭”部分),我也不会感到惊讶,其中一个应用程序的外部存储 View storage 不同于另一个应用程序对外部存储的看法,即使在逻辑上是同一用户。然后,即使“工作”应用程序具有正确的权限,它也可能无法看到“家庭”应用程序放在外部存储中的文件,除非“家庭”应用程序通过 ContentProvider 为他们提供服务。喜欢FileProvider .

关于android - 为什么要对外部文件使用 FileProvider?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26346929/

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