选择相册图片(或调用MediaStore.ACTION_IMAGE_CAPTURE拍照),然后裁剪。在其他系统上都测试正常,但是在小米上出现了问题。小米2s上,裁剪后点击确定直接卡死系统;小米3上,裁剪后点击确定直接回到主界面,相当于重新打开app。就是说,裁剪后,无法响应onActivityResult(),裁剪方法如下:

    /*** 裁剪图片*/private void startPhotoZoom(Uri uri, int size) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri, "image/*");// crop为true是设置在开启的intent中设置显示的view可以剪裁intent.putExtra("crop", "true");// aspectX aspectY 是宽高的比例intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);// outputX,outputY 是剪裁图片的宽高intent.putExtra("outputX", size);intent.putExtra("outputY", size);intent.putExtra("return-data", true);        startActivityForResult(intent, PHOTO_REQUEST_CUT);}

上述方法中,裁剪后的图片通过Intent的putExtra("return-data",true)方法进行传递,miui系统问题就出在这里,return-data的方式只适用于小图,miui系统默认的裁剪图片可能裁剪得过大,或对return-data分配的资源不足,造成return-data失败

解决思路是:裁剪后,intent保存图片的资源路径Uri,在onActivityResult()方法中,再提取对应的Uri图片资源转换为Bitmap使用。

    /*** 裁剪图片*/private void startPhotoZoom(Uri uri, int size) {Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(uri, "image/*");// crop为true是设置在开启的intent中设置显示的view可以剪裁intent.putExtra("crop", "true");// aspectX aspectY 是宽高的比例intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);// outputX,outputY 是剪裁图片的宽高intent.putExtra("outputX", size);intent.putExtra("outputY", size);/*** 此方法返回的图片只能是小图片(sumsang测试为高宽160px的图片)* 故只保存图片Uri,调用时将Uri转换为Bitmap,此方法还可解决miui系统不能return data的问题*///intent.putExtra("return-data", true);      //裁剪后的图片Uri路径,uritempFile为Uri类变量uritempFile = Uri.parse("file://" + "/" + Environment.getExternalStorageDirectory().getPath() + "/" + "small.jpg");intent.putExtra(MediaStore.EXTRA_OUTPUT, uritempFile);intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());startActivityForResult(intent, PHOTO_REQUEST_CUT);}

然后在onActivityResult()中处理:

    /*** 处理返回结果*/@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stubcase PHOTO_REQUEST_CUT: //将Uri图片转换为BitmapBitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(uritempFile));//TODO,将裁剪的bitmap显示在imageview控件上break;}super.onActivityResult(requestCode, resultCode, data);}

解决小米miui系统调用系统裁剪图片功能camera.action.CROP后崩溃或重新打开app的问题相关推荐

  1. 解决小米miui系统调用系统裁剪图片功能崩溃失败的问题

    项目中选择图片作为头像,都要经过剪裁的过程.一般我们都调用系统剪裁的方法.不过该方法在其它系统上都显示正常,但是在miui系统上就出错了.经测试发现其他系统 cropBitmap = data.get ...

  2. 彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题

    彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题 参考文章: (1)彻底理解Toast原理和解决小米MIUI系统上没法弹Toast的问题 (2)https://www.cnblog ...

  3. android调用系统裁剪图片 返回模糊 不清晰的问题

    基本这个功能都是在头像设置的时候会用到 Android 从相机拍完照片 然后跳去系统自带的裁剪 或者从相册选取图片裁剪  然后把裁剪好的图片设置成头像 这里直接贴上跳到裁剪部分的代码 private ...

  4. android裁剪图片功能,实战:七步教你Android图片拍摄及剪裁

    [IT168技术]现在,很多Android设备都有内置的摄象头了,在本教程中,我们将学习如何在程序中调用Android手机中的摄象头进行图像的摄制,并且如何在拍摄照片后,如何利用用户已经安装在设备中的 ...

  5. android裁剪图片功能,Android实现图片区域裁剪功能

    今天做的就是关于实现图片的区域裁剪功能.由于项目功能的需要笔者需要实现PDF文档的阅读,并且就某个页面实现"图片"裁剪(一个页面理解为一张图片).笔者对着方面是一点儿也不熟悉,因此 ...

  6. 安卓图片操作(调用系统相机,预览本地照片,调用系统裁剪图片,压缩图片,中心裁剪方形图片,bitmap转byte[])

    先创建照片存储uri public static Uri createImagePathUri(Context context) {Uri imageFilePath = null;String st ...

  7. android crop 大图,com.android.camera.action.CROP 实现图片剪裁

    APP 中选取图片之后,有时候需要进行剪裁,比如头像. 以下是启动代码. 在我的项目中,传的是 filePath,所以我转了一下,但实际上从相册选择图片后,用 data.getData() 就可获得 ...

  8. 小米笔记本重装系统没有wifi功能和扬声器没有声音解决的过程(红米G游戏本)

    要看解决方法的直接看文章最后 经过: 1.因为自己已经用pe系统给很多同学包括我自己重装过很多次系统了,所以最开始打算用pe给小米笔记本装系统.pe盘里面装的镜像是MSDN上面下载的最新1909的wi ...

  9. 小米MIUI双系统原理及刷机

    很多人都会关注小米手机的双系统吧,其实小米现在还不能真正的实现双系统,但确实能用上双系统.# M9 B# m% q! Z- c 说到MIUI系统的刷机,我们首先想到的是观音哥介绍的6种刷机的方式.具体 ...

最新文章

  1. Bash中的逻辑运算
  2. 7.5 TableLayout布局详解
  3. Windows Azure Marketplace增加对六种语言和HTML5应用程序的支持
  4. Oracle12c异常关闭后启动PDBORCL(ORA-01033)
  5. Linux 修改SSH端口 和 禁止Root远程登陆
  6. 查看sql语句的执行计划
  7. elasticsearch(es)的安装-macOs
  8. opencv之cvtColor()函数
  9. 面对互联网寒冬,程序员能够做什么?
  10. web前端-写给大家看的设计书-笔记-颜色运用-色轮使用
  11. java程序一维数组能被5整除,JAVA鏈熸湯璇曢闆?鍚瓟妗? - 鐧惧害鏂囧簱
  12. SAP中不同质检类型对收货的影响的现实案例分析
  13. 思科交换机配置ipv6实验
  14. 【新手入门.考试高频】Java中“一个类声明的两个对象如果有相同的引用,二者就有相同的变量”的理解
  15. Struts框架实战精讲 struts1(2)- 登录案例
  16. web开源框架大汇总
  17. JS元素的提取,删除 ,添加,修改
  18. 价格暴涨却一车难求,春节租车比卖车好做?
  19. 《商战往事》读书笔记
  20. *.accdb数据文件的数据解析工具类

热门文章

  1. 创新BMW X2 不但有颜有型 还出奇的好开
  2. 【无人机三维路径规划】基于A算法解决三维路径规划问题含危险障碍地形含Matlab源码
  3. 软件项目管理_作业1
  4. 看完这篇,你一定会打开谷歌搜索...
  5. 第八章 linux系统引导过程及引导修复
  6. 使用记账软件,记录每笔消费和收入操作简单
  7. 图论(2):树和割集
  8. mgo简介以及使用说明
  9. SharePoint 内容编辑器部件介绍
  10. 以智汀和小米为例,聊一聊智能网关在智能家居中的应用