Android 删除本地图片

 以前没有写博客的习惯  换了公司之后 事情慢慢变多  也需要掌握很多的新的我不知道知识   遇到很多问题  网上各种百度  好不容易遇到可以修复bug的博客   这次用完关掉   以后遇到还需要重新百度  所以我决定开始写博客记录他们  我知道百度不是解决问题的根本  努力学习 尝试理解     以后遇到问题可以先看源码或者什么尝试先自己解决  废话不多说

先附上转载的博主的链接

https://blog.csdn.net/ddddwwww2/article/details/52992981

关于Android删除本地图片的解决方法   网上找了很多  都没有彻底解决我的问题有的写了删除的方法 像是根本没有执行一样 ,这个文章中的代码原理说实话我也不太懂   但是他解决了我的问题   我现在的技术可能只是代码的搬运工吧   手动添加笑哭表情

正文 :

在app中删除手机中的图片,如果使用file的delete方法,会出现删除不干净的情况,这个时候留有一个空白的文件,还是会显示在相册中。经过调查后,发现是数据库中没有更新导致的,后来经过测试多款机型,找到了一个比较好的方法,代码如下:

    Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
    ContentResolver mContentResolver = context.getContentResolver();
    String where = MediaStore.Images.Media.DATA + "='" + filePath + "'";
    //删除图片
    mContentResolver.delete(uri,where,null);

其中,filepath为图片路径,这样删除以后,在有的机型里还会有残留,所以需要更新媒体库。代码如下:

      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
             new MediaScanner(PreviewActivity.this, path);
      } else {
            sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" +                 Environment.getExternalStorageDirectory())));
    }


 

猜你喜欢

转载自blog.csdn.net/unknown_315/article/details/83658712