使用 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,于是我拿来试了一下,发现也是可以正确获取图片的旋转信息的。

相关推荐
Sirens.1 小时前
MySQL表设计进阶-约束范式连接索引与事务
android·数据库·mysql
zh_xuan4 小时前
安卓上 mmap读取并修改文件内容
android·mmap
二流小码农4 小时前
鸿蒙开发:实现文本渐变效果
android·ios·harmonyos
光头闪亮亮6 小时前
Fyne ( go跨平台GUI )项目实战-项目开发必备基础知识(中)
android·c++·go
光头闪亮亮6 小时前
Fyne ( go跨平台GUI )项目实战-项目开发必备基础知识(上)
android·sqlite·go
光头闪亮亮6 小时前
Fyne ( go跨平台GUI )项目实战-项目开发必备基础知识(下)
android·c++·go
Ch_champion6 小时前
2018年之前的Android 项目上使用的技术点(及第三方库)
android
龚礼鹏6 小时前
RK Android16 wifi 投屏失败问题排查
android
晓梦林8 小时前
[ACTF2020 新生赛]BackupFile学习笔记
android·笔记·学习
ITmaster07319 小时前
告别 IDE?Android CLI 来了,开发进入 AI Agent 时代
android·ide·人工智能