MediaStore.Images.Media не удаляет запись перемещенного изображения - PullRequest
0 голосов
/ 02 августа 2020

Я переместил изображение из каталога загрузки в DCIM с помощью приложения с именем 'Files'.

Курсор получает оба пути, новый и старый.

getApplication<Application>().applicationContext.contentResolver.query(
            MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
            null,//projection,
            null,//selection,
            null,//selectionArgs,
            null//sortOrder
        )?.use { cursor ->
            while (cursor.moveToNext()) {
                DatabaseUtils.dumpCurrentRow(cursor)
            }
       }

Новая запись: 1006 *

 10 {
    instance_id=null
    duration=null
    description=null
    picasa_id=null
    latitude=null
    date_expires=null
    _display_name=240x135.7.jpg
    datetaken=null
    mime_type=image/jpeg
    _id=38
    _data=/storage/1B07-1103/DCIM/240x135.7.jpg
    _hash=null
    _size=8037
    title=240x135.7
    width=240
    longitude=null
    is_trashed=0
    group_id=-1332787703
    document_id=null
    is_pending=0
    date_added=1596322655
    mini_thumb_magic=null
    primary_directory=DCIM
    secondary_directory=null
    isprivate=null
    original_document_id=null
    bucket_id=-1508016675
    relative_path=DCIM/
 }

Старая запись все еще существует:

 5 {
    instance_id=null
    duration=null
    description=null
    picasa_id=null
    latitude=null
    orientation=null
    height=135
    is_drm=0
    bucket_display_name=Download
    owner_package_name=com.android.chrome
    volume_name=external_primary
    date_modified=1596220214
    date_expires=null
    _display_name=240x135.7.jpg
    datetaken=null
    mime_type=image/jpeg
    _id=29
    _data=/storage/emulated/0/Download/240x135.7.jpg
    _hash=null
    _size=8037
    title=240x135.7
    width=240
    longitude=null
    is_trashed=0
    group_id=-1332787703
    document_id=null
    is_pending=0
    date_added=1596220214
    mini_thumb_magic=null
    primary_directory=Download
    secondary_directory=null
    isprivate=null
    original_document_id=null
    bucket_id=540528482
    relative_path=Download/
 }

Как удалить старую запись с указанием пути в неправильное место? Первая запись приводит к ошибке при попытке получить картинку:

imageView.setImageURI(
              ContentUris.withAppendedId(
                       MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                       cursor.getLong(
                                      cursor.getColumnIndex(
                                                    MediaStore.Images.Media._ID
                                      )
                       )
              )

Или может быть какой-то способ проверить удаленный файл или нет?

Тест Android API эмулятора 29.

...