背景

公司有一功能需要调用相机或者相册,拍摄或者选择照片先做展示然后上传到服务器。但是提交测试的时候,测试小姐姐给我提了一个bug,描述为拍照返回的照片向左旋转90度展示。由于道长的测试机为华为的,当时并没有发现问题,后来测试小姐姐反馈仅小米手机相机会出现照片旋转问题。-_-! 额……好吧。

解决方法

解决方法很简单,获取每次相机返回的照片,如果旋转的话就再次旋转回来,代码如下:

  • 读取照片的角度
    /*** 读取照片旋转角度** @param path 照片路径* @return 角度*/public static int readPictureDegree(String path) {int degree = 0;try {ExifInterface exifInterface = new ExifInterface(path);int orientation = exifInterface.getAttributeInt(ExifInterface.TAG_ORIENTATION, ExifInterface.ORIENTATION_NORMAL);switch (orientation) {case ExifInterface.ORIENTATION_ROTATE_90:degree = 90;break;case ExifInterface.ORIENTATION_ROTATE_180:degree = 180;break;case ExifInterface.ORIENTATION_ROTATE_270:degree = 270;break;}} catch (IOException e) {e.printStackTrace();}return degree;}
  • 旋转图片
    /*** 旋转图片* @param angle 被旋转角度* @param bitmap 图片对象* @return 旋转后的图片*/public static Bitmap rotaingImageView(int angle, Bitmap bitmap) {Bitmap returnBm = null;// 根据旋转角度,生成旋转矩阵Matrix matrix = new Matrix();matrix.postRotate(angle);try {// 将原始图片按照旋转矩阵进行旋转,并得到新的图片returnBm = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);} catch (OutOfMemoryError e) {}if (returnBm == null) {returnBm = bitmap;}if (bitmap != returnBm) {bitmap.recycle();}return returnBm;}

大概就这样,希望可以解决小伙伴的问题。

android:解决小米手机相机返回照片旋转问题相关推荐

  1. Android解决小米手机相机和相册的问题(适配小米手机相机和相册)

    这两天做一个功能,需要拍照和相册选择图片并上传,功能本来不难,但是MIUI就不行了,拍照和相册取图用一般的方法都有问题,网上查了好多都是转载的,且解决办法有问题,当然也可能是我使用有问题,总之最后还是 ...

  2. android 解决小米手机上选择照片路径为null的问题

    之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码,解决了这个问题,这里记录一下. ...

  3. android小米手机上传图片,android 解决小米手机上选择照片路径为null的问题

    释放双眼,带上耳机,听听看~! 之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码 ...

  4. android 解决小米手机上选择照片路径为null情况

    昨天测试帅哥说他手机选择图库崩溃了,这是一个上传头像的功能,相信很多应用都有这个功能,于是我就把手机拿过来打log看了下返回的路径 为null,在网上搜索了下解决方案,现在把解决方案记录下: 这是在o ...

  5. 移动端上传照片 预览+Draw on Canvas's Demo(解决 iOS 等设备照片旋转 90 度的 bug)...

    背景: 本人的一个移动端H5项目,需求如下: 需求一:手机相册选取或拍摄照片后在页面上预览 需求二:然后绘制在canvas画布上 这里,我们先看一个demo(http://jsfiddle.net/q ...

  6. 利用exif.js解决ios或Android手机上传竖拍照片旋转90度问题

    html5+canvas进行移动端手机照片上传时,发现ios手机上传竖拍照片会逆时针旋转90度,横拍照片无此问题:Android手机没这个问题. 因此解决这个问题的思路是:获取到照片拍摄的方向角,对非 ...

  7. miui10.2.2 或以上的小米手机上照片旋转问题及解决

    问题描述 在miui10.2.2 或以上的小米手机上出现的问题:调用手机相册选取使用手机拍摄的照片时,对照片进行压缩处理后图片会出现旋转. 解决方法: 然后获取到旋转的角度,然后将图片旋转回来. 获取 ...

  8. Android解决部分手机拍照照片自动旋转的问题

    自定义相机开发的时候,会遇到这样的问题,部分手机拍照后显示在控件上是会发生自动旋转的问题.比如小米手机,三星, 把横的拍成竖的,竖的拍成横的,但是其他品牌手机正常. 解决方案:根据图片的绝对路径,获取 ...

  9. [Android]解决小米手机神坑问题:Installation failed with message Failed to establish session

    问题描述:小米手机可以从应用商城下载安装APK,但是用Android Studio编译安装就不行!出现这个错误: Installation failed with message Failed to ...

最新文章

  1. 使用TESSERACT来识别字符
  2. Excel 2013:如何实现数据分列
  3. mongoTemplate使用总结
  4. 如何修改oracle字段类型
  5. P3327 [SDOI2015]约数个数和 (mobius反演)
  6. Java夺命21连问!(附答案)
  7. asp建站系统源码_三款适用于企业建站的CMS建站系统
  8. angular 首屏加载优化_[转]Angular4首页加载慢优化之路
  9. APP发布Xcode7
  10. 查询本地内存的栈大小_Js的内存问题
  11. 20172319 《程序设计与数据结构》实验一报告
  12. LeetCode(728)——自除数(JavaScript)
  13. 群签名和环签名的区别_苹果企业签名和苹果超级签名的区别
  14. 制定2015年的移动开发策略
  15. 高级IO(一)--UNIX环境高级编程读书笔记
  16. LeetCode - Two Sum
  17. 七种实用地方微信推广方法,三个月7000粉丝的秘诀
  18. msmms (二) sms与mms 简述!
  19. lintcode1485. 圣杯咒语
  20. 机器学习笔试题精选(六)

热门文章

  1. 新手刚开始运营shopee,要做什么有利于店铺发展?
  2. python 安卓app 缺点_用python对android APP进行分析2
  3. 学习:深度学习公开课
  4. okhttp 服务器性能,OkHttp逐步深入
  5. 110kV长距离输电系统增容补偿MATLAB仿真
  6. c语言中sam的用法,samtoos用法详解.pdf
  7. Shiro中Session过期页面跳转回登录页面处理问题
  8. python微信语音转发给别人_python 使用 itchat 保存群聊语音并拼接成音频课程
  9. 更改android模拟器dns,安卓模拟器网络异常修改DNS教程
  10. mysql 完整性概念_数据库完整性是什么概念?