ExifInterface:https://developer.android.com/reference/android/media/ExifInterface
添加信息:

   ExifInterface exif = new ExifInterface(imagePath);   // 写入经度信息   exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE,gpsInfoConvert(lng));   exif.setAttribute(ExifInterface.TAG_GPS_LONGITUDE_REF,lng > 0 ? "E" : "W");   exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE,gpsInfoConvert(lat));   exif.setAttribute(ExifInterface.TAG_GPS_LATITUDE_REF,lat > 0 ? "N" : "S");   exif.setAttribute(ExifInterface.TAG_DATETIME,getNowTime("YYYY:MM:DD HH:mm:SS"));   if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.M){       //exif.setAttribute(ExifInterface.TAG_USER_COMMENT,ToPinyin(address));       exif.setAttribute(ExifInterface.TAG_DATETIME_ORIGINAL,getNowTime("YYYY:MM:DD HH:mm:SS"));   }   exif.saveAttributes();

说明:
1、此处的经纬度是度分秒格式,不同于地图api定位后拿到的经纬度。
2、DATETIME 格式固定的(官方没看到具体的格式)YYYY:MM:DD HH:mm:SS
3、TAG_DATETIME_ORIGINAL AndroidM之后才支持
4、Android官方TAG_USER_COMMENT 不支持UTF-8

private static final Charset ASCII = Charset.forName("US-ASCII");public static ExifAttribute createString(String value) {   final byte[] ascii = (value + '\0').getBytes(ASCII);    return new ExifAttribute(IFD_FORMAT_STRING, ascii.length, ascii);}//就是说用ExifInterface 写进去的string都会被ASCII编码,反过来,读取的时候可以重写getAttribute,读取string时重新编码。//可以读取汉字数据,写不进去(需要用第三方库写,如下)

怎么添加TAG_USER_COMMENT 中文?

JpegInfo inJpegInfo = new JpegInfo(file);try {    inJpegInfo.set(ExifTagConstants.EXIF_TAG_USER_COMMENT, address);    rewriteInplace(inJpegInfo, file);} catch (ImageWriteException e) {    e.printStackTrace();}  catch (ImageReadException e) {    e.printStackTrace();} catch (IOException e) {    e.printStackTrace();}//此处参考:https://www.jianshu.com/p/f3c01883cc7e

更多相关文章

  1. Android读取服务器图片
  2. Android(安卓)时间格式转换
  3. android读取SD卡下面所有的TXT文件名,listView显示出来。
  4. android过滤隐藏文件FileFilter
  5. Android(安卓)把Layout变成图片
  6. android中读取短信
  7. android 浏览普通彩信列表demo 核心源码
  8. android GPS JAVA应用程序编程-------获得经纬度,卫星信息等
  9. android如何获取经纬度

随机推荐

  1. [置顶] Android的导航抽屉---Navigation
  2. Android也架构之四:门面模式解析获取的htm
  3. Android(安卓)HttpClient && HttpPost简
  4. Android通过反射EthernetManager Api设置
  5. android 导入项目gradle(无法下载/下载慢/
  6. 【android】手写一套Java的Handler程序,深
  7. Android应用的uid和pid
  8. Android(安卓)官方博客 - Android应用程
  9. Android进程和应用生命周期
  10. android下适配器