Как получить информацию обо всех изображениях из корзины с помощью MediaStore в AndroidAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как получить информацию обо всех изображениях из корзины с помощью MediaStore в Android

Сообщение Anonymous »

Я разрабатываю приложение для Android, и мне нужно получить изображения, которые были удалены и перемещены в корзину. Я попытался использовать MediaStore.Images.Media.IS_TRASHED в качестве проекции, но мне не удалось получить удаленные изображения.
Вот фрагмент кода, который я использую:
fun queryAllImages() {
val files = arrayListOf()

ctx.contentResolver.query(
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL)
} else {
MediaStore.Images.Media.EXTERNAL_CONTENT_URI
}, arrayOf(
imageData,
imageId,
imageDisplayName,
imageSize,
imageWidth,
imageHeight,
imageDateModified,
imageIsTrash
), if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
"$imageIsTrash = 0 OR $imageIsTrash = 1"
} else {
null
}, null, null
).use { cursor ->

val dataColumn = cursor?.getColumnIndexOrThrow(imageData)
val nameColumn = cursor?.getColumnIndexOrThrow(imageDisplayName)
val isTrashColumn = cursor?.getColumnIndexOrThrow(imageIsTrash)

var path: String? = null
var name: String? = null
var isTrash: Boolean? = null
if (cursor != null) {
while (cursor.moveToNext()) {
path = dataColumn?.let { cursor.getString(it) }
name = nameColumn?.let { cursor.getString(it) }
isTrash = isTrashColumn?.let { cursor.getInt(it) } == 1

Log.i(TAG, "queryImages: $path \n $isTrash")

}
}

}

}


Подробнее здесь: https://stackoverflow.com/questions/787 ... in-android
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»