Удалить миниатюру фотографии в галерее после удаления файла фотографии вручную

case R.id.menu_delete:
    File photoToDelete = new File(photoPath, photoList[gPosition]);
    photoToDelete.delete();
    checkPhotoFolder();
    galleryAdapter.notifyDataSetChanged();
    Log.d("position", "" + gPosition);
    return true;

Я вручную удаляю файл фотографии, используя приведенный выше код. Но в системной галерее фотография по-прежнему показывает пустую миниатюру. Вопрос как удалить файл фото а также его миниатюру в галерее?


person Sokdara Cheng    schedule 23.11.2012    source источник
comment
Извините за последний ответ, но я решил эту ошибку, как это   -  person Ersin Gülbahar    schedule 16.06.2016


Ответы (3)


Попробуйте вызвать MediaScanner, чтобы обновить галерею

// Tell the media scanner about the new file so that it is
// immediately available to the user.
MediaScannerConnection.scanFile(this,
        new String[] { file.toString() }, null,
        new MediaScannerConnection.OnScanCompletedListener() {
    public void onScanCompleted(String path, Uri uri) {
        Log.i("ExternalStorage", "Scanned " + path + ":");
        Log.i("ExternalStorage", "-> uri=" + uri);
    }
});

Код из примера Google

person dumbfingers    schedule 23.11.2012
comment
это работает только для сохранения новой фотографии, но при сканировании удаленного файла в системной галерее отображается пустая миниатюра. - person Sokdara Cheng; 23.11.2012
comment
@chengsokdara, вы правы, у меня такая же проблема. вы нашли решение??? - person Ahmad Arslan; 27.07.2015

Попробуй это.

getContentResolver().delete(Uri.fromFile(photoToDelete), null, null);
person David Heisnam    schedule 24.08.2015

Вы должны обновить структуру данных (например, список или массив), в которой хранятся фотографии. Я думаю, это photoList. Итак, вы должны сделать (при условии, что photoList является массивом):

photoList = photoList.asList().remove(gPosition).toArray();
person Leonel Machava    schedule 23.11.2012
comment
я имею в виду удалить миниатюру фотографии во встроенной галерее Android, братан. - person Sokdara Cheng; 23.11.2012
comment
Этот ответ не имеет отношения к вопросу. - person Eric; 14.03.2013