在手动删除照片文件后,删除相册中的照片缩略图

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

我使用上面的代码手动删除了一张照片文件。但在系统图库中,该照片仍然显示为空白缩略图。

问题是如何删除照片文件以及在图库中对应的缩略图?


抱歉之前的回答,但我已经像这样解决了这个错误。 - CompEng
3个回答

0

尝试调用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);
    }
});

来自谷歌示例的代码


2
这段代码只能用于保存新照片,但当它扫描到已删除的文件时,在系统相册中会显示一个空白缩略图。 - Sokdara Cheng
@chengsokdara,你说得对,我也遇到了同样的问题。你找到解决方案了吗??? - Ahmad Arslan

0

试试这个。

getContentResolver().delete(Uri.fromFile(photoToDelete), null, null);

-1
你必须更新存储照片的数据结构(例如列表或数组)。我猜这是photoList。因此,假设photoList是一个数组,你应该执行以下操作:
photoList = photoList.asList().remove(gPosition).toArray();

我是说在Android内置的相册中删除照片缩略图,兄弟。 - Sokdara Cheng
这个回答与问题无关。 - Eric Tobias

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接