【发布时间】:2021-12-27 13:26:42
【问题描述】:
我想从作用域存储中删除一个图像文件 从其他目录显示的图像。 我已成功显示图像,但现在我无法在 android 11 中删除这些图像,删除图像的代码适用于 android 10 或更低版本。
private void delSysMedia(ImageModel mi) {
ContentResolver cr = context.getContentResolver();
cr.delete(Images.Media.EXTERNAL_CONTENT_URI, Images.Media._ID + "=?", new String[]{String.valueOf(mi.getId())});
cr.delete(Images.Thumbnails.EXTERNAL_CONTENT_URI, Images.Thumbnails.IMAGE_ID + "=?", new String[]{String.valueOf(mi.getId())});
}
这是我在图像服务类中使用的代码
【问题讨论】:
-
new String[]{String.valueOf(mi.getId())})我们不知道你在做什么。我们不知道那会是什么 id。我们也不知道您是如何获得该 ID 的。我们也不知道哪个目录中的哪个文件。在有人可以帮助您之前,您应该写一篇更好的帖子。 .delete() 返回什么?你会用吗? -
want to delete an image file from scoped storage我们不知道该图像将驻留在何处。请提及完整路径。同时展示您是如何创建该图像的。 -
the images that are showing from the other directories.其他目录?哪个?你的帖子很不清楚。 -
另外,您应该首先获取文件的 uri。并为文件 uri 调用 .delete() 十个。
标签: android android-11 scoped-storage