生成系统本地缩略图和删除系统本地缩略图

项目需求:在本地系统添加图片文件后,本地系统不能立刻就生成其对应的缩略图;

而删除本地图片文件后,有些版本的系统或者不同的厂商手机,不会立即将其对应的本地系统缩略图删除,要重启手机才能更新,此时就需要我们手动去强制处理:


【1】生成本地缩略图:

    /**
     * 让本地系统生成缩略图
     * @param context 上下文句柄
     * @param path 要生成缩略图的原图完整路径
     */
    public static void createThumb(Context context, String path){
        ContentValues values = new ContentValues();
        values.put(MediaStore.Images.Media.DATA,path);//-------1
        context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,values);
    }

注:标记1处的MediaStore.Images.Media.DATA中的Images可以改为Video、Audio,这样如果是视频,会生成对应的缩略图


【2】删除本地缩略图

    /**
     * 让本地系统删除缩略图
     * @param context 上下文句柄
     * @param path 要删除缩略图的原图完整路径
     */
    public static void deleteThumb(Context context,String path){
        context.getContentResolver().delete(MediaStore.Images.Media.EXTERNAL_CONTENT_URI
                , MediaStore.Images.Media.DATA+"=?"
                , new String[]{path});
    }


保险起见,我在进行以上操作后,再发出广播,让系统刷新本地媒体库,具体可以查看android刷新媒体库


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值