再次卸载安装后,Android 11 文件不会从下载文件夹中删除

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

在android 11中,我将照片保存在下载目录

/storage/emulated/0/Download/SavedImages/
中,当我使用
File.delete()
删除文件时,它工作正常。

但问题是当我将文件保存到下载目录

/storage/emulated/0/Download/SavedImages/
之后,我卸载我的应用程序并重新安装,我尝试使用
File.delete()
删除文件,为什么文件不删除?

android android-11 android-storage
2个回答
0
投票

您无权读取/写入/删除

Download/
中的文件,除了您的应用程序 安装 放在那里的文件。您的应用程序下载的任何文件都可以通过该应用程序安装使用,但如果用户卸载/重新安装该应用程序,则这些文件将无法访问,就像其他任何文件放置在那里的文件一样。


0
投票

我和你有同样的问题。我建议2个解决方案:

  1. 当操作系统 >= Android 11 时,请针对要删除的每个文件征求用户的许可。请参阅 createWriteRequestcreateDeleteRequest
  2. 如果您使用媒体存储,请告诉用户该文件不属于他们,这样就无法在您的应用程序中对其进行修改。您可以使用
    MediaStore.MediaColumns.OWNER_PACKAGE_NAME
    执行此操作,如果您拥有它,它将返回您的包名称。如果您在卸载并重新安装之前创建了该文件,它将返回 null
© www.soinside.com 2019 - 2024. All rights reserved.