Android10相机能够到获取经纬度,但是不能在相机中显示

Android10相机能够到获取经纬度,但是不能在相机中显示

  • 最近在做项目时,发现了一个很有趣饿的问题,这个问题是区别于Android7的,为什么说有趣呢?就是你不了解时,你会觉得有点不可思议;当你了解之后,你会突然一句“fuck,why
    to do?”

  • 亲测针对于Android7中的相机设置有一个保存地理位置的功能,实际上就是保存你拍照时所在位置的经纬度,然后当你从图库中点击图片的更多详细信息之后,你可以轻松的查看到经纬度,已经图片的名称和拍照时间等等;Android7上是没有任何问题的。但是在Android10上,你会发现一个很尴尬的问题,那就是你从图库中点击图片的更多详细信息之后,你会发现图片的名称、拍照时间等等都能跟进行正常的显示,而且非常精确。但是经纬度信息就不翼而飞了,玛尼,当时第一感觉,难道是没有将经纬度信息插入到媒体数据库中?然后自己强行写死各种经纬度,并且也能够查看到数据库已经update一条数据了,可惜经纬度的数据就是为null?难道是数据库的字段写错啦,一个字母一个字母的比对,就差点上显微镜了,发现,并没有错等等。哎,那没有办法了,只能去查看源码啦,这里就不啰嗦了,你最终定位源码,你会发现下面:

Android10相机能够到获取经纬度,但是不能在相机中显示

  • 原来Android10调用相机时,如果你需要上传经纬度数据时,你会发现源码里面会先判断经纬度是否包含经纬度,如果经纬度不为null,源码里面会自动将经纬度设置为null,这就是android10的相机解析出经纬度来永远时一个null,如果你不加修改的话。最好的解决办法时将判断里面的给注释掉就OK啦,希望能帮到你!