问题1:关于时间显示1970年的问题,参看博客Android 图片保存到相册时间显示为1970的问题,它通过一个自定义方法getRealPathFromURI()来获取绝对地址,更新图库来解决这个问题,是有效的,但是仍然没有解决图片重复的问题。
问题2:关于保存两张图片的问题,参看博客Android调用MediaStore.Images.Media.insertImage保存图片时生成两张图片的问题。通过几台机型测试发现,这个覆盖原生API的写法,既能解决问题2,同时解决了问题1,而且要简单很多。API插入方法:
MediaStore.Images.Media.insertImage(getContext().getContentResolver(),path_export, file_export.getName(), file_export.getName());

会在部分机型上自动生成一张缩略图,比如小米8(估计其他小米手机都有这个问题),于是深入inserImage源码:

发现保存图片的方法就是这个:

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);

而红框部分生成了缩略图,那么掉图中红框部分代码(生成缩略图功能)即可,以此来直接替换insertImage方法。

那出现1970年的原因是什么呢,参看博客

解决问题2中的方法应该是直接覆盖了那个图像内部的原始日期域DATE_TAKEN和DATE_ADDED。但是我并没有调用:
//将图片的拍摄时间设置为当前的时间
values.put(MediaStore.Images.ImageColumns.DATE_TAKEN, System.currentTimeMillis() )
values.put(MediaStore.Images.ImageColumns.DATE_ADDED, System.currentTimeMillis() )
也将时间正确改为了当前时间,这是为什么呢?

保存图片到相册时时间显示1970年以及部分手机会保存两张问题相关推荐

  1. MIUI打开相册怎么默认显示全部照片_小米手机让相册默认展示所有图片怎么设置?

    问题:怎么可以将相册默认显示的图片,设置为显示所有呢? MIUI打开相册怎么默认显示全部照片? 小米k40,发现打开相册默认不显示全部照片,每次截图录屏后都不直接显示在照片里,得手动点到全部照片,很不 ...

  2. Android 保存图片到相册,相册里不显示

    明明保存下来了,为什么进入相册时查看不到呢? 原来我们在保存成功后,还要发一个系统广播通知手机有图片更新,广播如下: Intent intent = new Intent(Intent.ACTION_ ...

  3. ios 保存图片到相册 崩溃_iOS保存图片闪退

    问题描述 1.保存图片时调用了 UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)方法 2.个别测试机运行时APP闪退,XCode提示崩溃信息如下 ...

  4. 微信小程序--保存图片到相册 失败:saveImageToPhotosAlbum:fail auth deny

    @wx.saveImageToPhotosAlbum 微信小程序–保存图片到相册 失败:saveImageToPhotosAlbum:fail auth deny 是否授权了保存功能 wx.openS ...

  5. 关于时间转换总是显示1970年的问题

    今天遇到了一个奇怪的问题, long time = 1488606363; Date date = new Date(time); java.text.SimpleDateFormat sDateFo ...

  6. 电脑更新系统时间显示rpc服务器不可用,电脑系统时间同步更新时提示“RPC服务器不可用”解决办法...

    电脑技巧 办公软件 在对电脑系统时间进行"自动与Internet时间服务器同步"的时候,一点击"立即更新",就会出现提示:"RPC服务器不可用&quo ...

  7. C#表格table时间显示年月日时分秒格式设置

    C#表格table时间显示年月日时分秒格式设置 作者:张国军_Suger 开发工具与关键技术:Visual Studio 2015.C#..NET 在做C#项目是遇到的前端表格的时间处理问题,一般都是 ...

  8. 【优秀课设】51单片机LCD1602显示的温度控制系统设计 包括时间显示 校时、设置最值温度报警功能

    1.将DS18B20温度传感器的温度读出来,并在LCD1602上显示出来. 2.在LCD上分别切换显示,软件设计时钟(时.分.秒),和当前温度值,和温度上下控制值.并可以通过按键进行修改设置,温度高于 ...

  9. uView使用Album 相册时,单张图片不显示问题

    uView使用Album 相册时,单张图片不显示问题 html部分 <!-- 图片预览 --><view class="imgView" style=" ...

最新文章

  1. 沙市一中2021年高考成绩查询,2021年荆州高考状元名单公布,荆州文理科状元是谁多少分...
  2. MotionEvent的getX(),getY()与getRawX(),getRawY()区别
  3. 什么?终止一个容器竟然用了 10 秒钟,这不能忍!
  4. markdown demo 学习
  5. [MySQL] 查询一段时间记录
  6. wince 6.0 设备管理器架构(Device Manager Architecture)
  7. boost::regex模块部分正则表达式相关的测试程序
  8. matlab中对伺服电机,基于Matlab的伺服电机Modbus通讯研究
  9. 2021年考计算机考研三战,2021考研的小伙伴有3条忠告一定要记得,这些都是历年实战经验...
  10. Java描述设计模式(15):责任链模式
  11. 8月第4周回顾:Delphi2009发布 CCIE增加英文面试
  12. c/c++教程 - 2.4.1 类和对象,封装,class和struct的区别,成员属性设为私有,类拆分成.h.c文件编写方法
  13. [原创]java WEB学习笔记103:Spring学习---Spring Bean配置:基于注解的方式(基于注解配置bean,基于注解来装配bean的属性)...
  14. android launcher3 home页简易分析
  15. Centos7 安装字体库中文字体
  16. Git小乌龟汉化步骤
  17. 【Python】利用Python拟合函数曲线
  18. idea 安装jrebel6.4.3及破解
  19. VS2015调试程序
  20. torch.optim.SGD参数详解(除nesterov)

热门文章

  1. Java小程序动态雪花屏保
  2. mac下载安装jmeter
  3. 基于生成对抗网络完成小表面缺陷检测
  4. 次世代的老罗,真的“胖”了,但是……
  5. 和慧眼显示服务器网关错误,R525G3联想万全慧眼高级版用户指南.pdf
  6. php 催单功能,配置和使用工单催单功能
  7. 知网检测”独创性声明”、“版权声明”吗
  8. C语言————输出所有的玫瑰花数
  9. Python 数据类型判断
  10. TIDB架构自我总结