使用 ExifInterface 遇到的兼容性问题

为了获取图片的旋转角度,使用了如下 api

java 复制代码
import android.media.ExifInterface;

ExifInterface exif = new ExifInterface(filePath);
int ori = exif.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_UNDEFINED);

发现在三星的一些机型上,获取的ori都是 0,于是打算换一个 ExifInterface 的构造方法,但是发现这些构造方法,除了 String 的,API 版本都比较高,但是我们必须支持更低的版本。

这说明这个库肯定有一些兼容性问题,发现了一个警告。

java 复制代码
Avoid using android.media.ExifInterface; use androidx.exifinterface.media.ExifInterface instead

切换到androidx.exifinterface.media.ExifInterface 就可以了,在搜索问题的过程中,也发现了一些其他解决方案,那就是直接读取图片文件里面的信息。代码比较完整的是这个 Exif.java,于是我拿来试了一下,发现也是可以正确获取图片的旋转信息的。

相关推荐
过-眼-云-烟8 分钟前
新版Android Studio能打包但无法run ‘app‘,编译通过后手机中没有安装,顶部一直转圈
android·ide·android studio
hedalei1 小时前
android14 硬键盘ESC改BACK按键返回无效问题
android·android14·esc·back按键
hcgeng1 小时前
android 如何判定底部导航栏显示时 不是键盘显示
android·底部导航·导航高度
和煦的春风1 小时前
性能案例分析 | Waiting for GPU completion
android·linux
用户2018792831671 小时前
ConcurrentHashMap:用 “社区超市” 故事讲透并发的设计哲学
android
4Forsee2 小时前
【Android】View 交互的事件处理机制
android·交互
龙腾-虎跃2 小时前
Android Sip电话(PJSP)
android
zhangphil2 小时前
Android点击桌面图库应用启动流程trace分析
android
咖啡の猫2 小时前
Android开发-文本输入
android·gitee
No Silver Bullet3 小时前
Android Studio如何开启离线编译模式
android