在Android 12中,需要使用MediaStore API来删除图片文件。以下是一个使用MediaStore API的示例代码:
val selection = "${MediaStore.Images.Media.DISPLAY_NAME} = ?"
val selectionArgs = arrayOf("filename.jpg")
val contentResolver = context?.contentResolver
val uri: Uri? = MediaStore.Images.Media.EXTERNAL_CONTENT_URI
val rowsDeleted = contentResolver?.delete(uri, selection, selectionArgs)
在上面的代码中,我们首先定义了一个选择条件,这将指定我们要删除的文件。我们使用了MediaStore.Images.Media.DISPLAY_NAME,因为要按照文件名进行筛选。在selectionArgs中,我们提供了要删除的文件名(“filename.jpg”)。
然后,我们获取一个ContentResolver实例,这将用于访问系统内容提供程序(如MediaStore)。我们还获取了一个指向外部存储中图像内容的Uri。
最后,我们通过ContentResolver的delete()方法执行删除操作。此方法将返回一个int类型的值,表示已删除的行数。
需要注意的是,删除文件时必须具有WRITE_EXTERNAL_STORAGE权限。