开发中我们有时候需要将app中的图片导出到相册,调用系统提供的

MediaStore.Images.Media.insertImage

方法可以达到我们的目的,但是会发现在相册中生成了两张内容一样的图片,一张是以我们设置的命名方式命名的(具体步骤可以查看insertImage用法),另一张则是系统帮我们生成的根据当前时间命名的缩略图。
查看insertImage的源码,我们发现保存图片其实是通过以下代码做到的:

ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.DATA, file_export.getAbsolutePath());values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");Uri uri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

后面的代码则是生成缩略图用的,那么我们在使用的时候剥离出这部分我们需要的代码即可,也就是在原来使用

MediaStore.Images.Media.insertImage(getContext().getContentResolver(),path_export, file_export.getName(), file_export.getName());

的地方,使用以下代码替换它就行了:

ContentValues values = new ContentValues();values.put(MediaStore.Images.Media.DATA, file_export.getAbsolutePath());values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");Uri uri = this.getContext().getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

当然,最后别忘了发送广播提醒系统检索我们导出的图片,否则不会显示:

getContext().sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.parse("file://" + path_export)));//path_export是你导出的文件路径

Android --- 调用MediaStore.Images.Media.insertImage保存图片时生成两张图片的问题相关推荐

  1. MediaStore.Images.Media.insertImage保存图片

    MediaStore.Images.Media.insertImage保存图片会生成了两张内容一样的图片,一张是以我们设置的命名方式命名的(具体步骤可以查看insertImage用法),另一张则是系统 ...

  2. MediaStore.Images.Media.insertImage(getContentResolver(), destMap, null, null)出现空指针问题

    在bitmap转uri 的时候 在转化的时候的时候出现空指针问题. 开始的代码为 Uri uri = Uri.parse(MediaStore.Images.Media.insertImage(get ...

  3. android 调用系统相机拍照 获取原图

    博客源址:android 调用系统相机拍照 获取原图 博客时间:2013-04-23 11:08 好吧,为了这个问题又折腾了一整天.之前在网上找来的方法,如果在onActivityResult中直接用 ...

  4. Android 调用系统裁剪,适配11和12及手机

    前言:发现Android 调用系统裁剪时,在各Android 版本出现各种问题,踩了一堆坑,做一下总结,免得以后忘记 后面会有完整裁剪代码 1,一加手机报错 intent.putExtra(" ...

  5. 三种方法,刷新 Android 的 MediaStore!让你保存的图片立即出现在相册里!

    一.序 Hi,大家好,我是承香墨影! App 内,创建一个文件并保存文件到本地的需求,是很常见的 I/O 操作.而如果这个文件变成了一张图片,那你涉及到的就不仅仅是一个 I/O 操作了,还需要考虑如何 ...

  6. android 调用原生相机

    GitHub public class MeFragment extends BaseFragment implements View.OnClickListener {private String ...

  7. Android调用系统相机程序

    一.请求相机功能 声明你的应用依赖于相机,请在清单文件中添加 uses-feature 代码: <manifest ... ><uses-feature android:name=& ...

  8. android+代码调用+相册+小米,Android调用系统相册选择图片,支持小米4云相册

    用小米4调用系统相册选择照片时,如果云相册功能开启的话.云相册中的图片也会显示在选择列表中.经过测试,选择到云相册中的图片的话,uri的scheme是file,而不再试content.本文支持云相册的 ...

  9. android微信自定义分享代码,android 调用本地微信自定义多图分享朋友圈,可放在share sdk中一起使用...

    最终的效果图,右下角微信多图为自定义调用系统分享,分享到微信. 在你能正常调用share sdk的时候想在原本的基础上加自定义的分享非常的简单. 它的官网已经给出了代码,但是给的不是很清楚. lz毕竟 ...

最新文章

  1. mac远程redis_MAC安装redis
  2. Confluence 6 为发送邮件配置服务器
  3. Condition总结-await和signal的总结
  4. elasticsearch说了一些了,这次说说Solr【入门Solr这篇就够了】
  5. java反射main方法参数注意
  6. 转载:redis备份策略
  7. angularjs指令(一)
  8. Show一下2008新技术体验活动的奖品
  9. spring的beanDefinition是什么
  10. 多维向量空间中点到线的距离公式
  11. GAMES101-现代计算机图形学入门-闫令琪——Lecture 18 Advanced Topics in Rendering
  12. C语言圆角矩形画法,GDI+ 如何绘制圆角矩形(vc++)
  13. 怎么学计算机自学,自学经验:如何学习计算机知识
  14. 哪个版本的linux适合个人主机,2020年适合个人使用的Linux发行版推荐TOP5
  15. 立创EDA的元件库导入AD
  16. python制作猫和老鼠游戏我觉得可以学一手@
  17. 修改 Zotero 参考文献格式
  18. CSS初始化(科普)
  19. Github每日精选(第21期):开源文件同步syncthing
  20. java日期格式化yyyy-mm-dd

热门文章

  1. 宅男程序员给老婆的计算机课程
  2. Prototype1.5.1源代码解读分析-5
  3. 牛客网在线编程题之“换汽水”
  4. matlab符号表达式的化简
  5. MATLAB信号处理之常用信号的表示
  6. 【超参数寻优】量子粒子群算法(QPSO) 超参数寻优的python实现
  7. ubuntu再次体验之【美化】--修改主题、字体、字体大小
  8. DCOM 示例:演示如何远程调用 COM 对象
  9. C/C++指针与内存管理
  10. Android SDK Manager无法下载包的问题