您好,欢迎来到二三四教育网。
搜索
您的当前位置:首页Android采用file.delete(),遗留缩略图问题

Android采用file.delete(),遗留缩略图问题

来源:二三四教育网

问题描述

最近在开发中,需要删除合成在系统 DCIM文件下的图片。采用以下的方法


    /**
     * 删除单个文件
     *
     * @param filePath 被删除文件的文件名
     * @return 文件删除成功返回true,否则返回false
     */
    public static void deleteSingleFile(String filePath) {
        File file = new File(filePath);
        if (file.isFile() && file.exists()) {
            file.delete();
        }
    }

发现在系统相册中依然存在与原图等大的黑色空白图。

解决方法

google后,万能的码友给出了方法,原来android系统的图片保存后会在media数据库中记录其缩略图,所以再删除对应的图片时,也要删除数据库中对应的记录,代码如下:

     //filepath-->图片绝对路径
     getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, MediaStore.Images.Media.DATA + "=?", new String[]{filepath});

Copyright © 2019- how234.cn 版权所有 赣ICP备2023008801号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务