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

相关推荐
摆烂积极分子1 小时前
安卓开发学习-安卓版本
android·学习
n***26563 小时前
MySQL JSON数据类型全解析(JSON datatype and functions)
android·mysql·json
t***82113 小时前
mysql的主从配置
android·mysql·adb
YF02115 小时前
Frida如何稳定连接PC端跟Android手机端
android·mac·xposed
O***P5716 小时前
【MySQL】MySQL内置函数--日期函数字符串函数数学函数其他相关函数
android·mysql·adb
z***43846 小时前
MySQL-mysql zip安装包配置教程
android·mysql·adb
无心水6 小时前
【Python实战进阶】7、Python条件与循环实战详解:从基础语法到高级技巧
android·java·python·python列表推导式·python条件语句·python循环语句·python实战案例
g***78918 小时前
鸿蒙NEXT(五):鸿蒙版React Native架构浅析
android·前端·后端
Bervin1213814 小时前
Flutter Android环境的搭建
android·flutter
e***877020 小时前
windows配置永久路由
android·前端·后端