[Android] 调用系统裁切图片的 !!! FAILED BINDER TRANSACTION !!! 错误
来源:互联网 发布:詹姆斯全明星数据 编辑:程序博客网 时间:2024/05/20 06:51
需求:从系统里选择一张图片并裁剪为屏幕比例
采用网上流传的代码
DisplayMetrics dm = getResources().getDisplayMetrics(); int width = dm.widthPixels; int height = dm.heightPixels; Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); intent.putExtra("crop", true); intent.putExtra("aspectX", width); intent.putExtra("aspectY", height); intent.putExtra("return-data", true); startActivityForResult(intent, REQUESTCODE_IMAGE);
使用Intent调用图片浏览器后出现
!!! FAILED BINDER TRANSACTION !!!错误
(error过滤器中 本应用的过滤器中未出现)
将裁切框缩小没问题 截图后发现返回的Intent中有个Bitmap对象
问Google后发现Intent有个极低的容量上限
Intent传输的bytes不能超过40k
现在使用的代码
DisplayMetrics dm = getResources().getDisplayMetrics();int width = dm.widthPixels;int height = dm.heightPixels;Intent intent = new Intent(Intent.ACTION_GET_CONTENT, null);intent.setData(MediaStore.Images.Media.EXTERNAL_CONTENT_URI);intent.setType("image/*"); // 选择的内容为图片,intent.putExtra("crop", "circle"); // 调用裁剪intent.putExtra("aspectX", width); // 裁剪框 宽。intent.putExtra("aspectY", height); // 裁剪框 高.intent.putExtra("output", Uri.fromFile(customBgImage));// 输出到文件intent.putExtra("outputFormat", "PNG");// 返回格式intent.putExtra("noFaceDetection", true); // 去除面部检测intent.putExtra("return-data", false); // 不要通过Intent传递截获的图片startActivityForResult(intent, REQUESTCODE_IMAGE);
customBgImage 是一个File类 为存储剪切后图片的文件
系统裁切会自动将裁切好的图片存储为该文件
接下来只要在onActivityResult中 调用这个文件即可
- [Android] 调用系统裁切图片的 !!! FAILED BINDER TRANSACTION !!! 错误
- android系统自带图片裁剪的注意事项(E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!)
- android FAILED Binder Transaction 问题的原因
- android FAILED Binder Transaction 问题的原因
- android JavaBinder - FAILED BINDER TRANSACTION
- android异常!!! FAILED BINDER TRANSACTION !!!
- android更新桌面小插件widget的imageview时 出现!!! FAILED BINDER TRANSACTION !!!错误
- E/JavaBinder:FAILED BINDER TRANSACTION错误解决+RadioGroup调用check方法的时候,onCheckedChanged被调用多次的问题解决
- [Android开发-异常]javabinder !!! FAILED BINDER TRANSACTION !!!
- Android开发异常javabinder !!! FAILED BINDER TRANSACTION !!!
- android的failed binder transcation错误
- !!! FAILED BINDER TRANSACTION !!! 的另一种原因
- FAILED BINDER TRANSACTION
- javabinder failed binder transaction
- FAILED BINDER TRANSACTION
- !!! FAILED BINDER TRANSACTION !!!
- !!! FAILED BINDER TRANSACTION !!!
- FAILED BINDER TRANSACTION
- Problem A
- VC双缓冲绘图
- 二分查找c++代码
- iOS推送学习
- 详细剖析Linux进程调度时机
- [Android] 调用系统裁切图片的 !!! FAILED BINDER TRANSACTION !!! 错误
- 一些利用开源浏览器核心开发专用浏览器的连接
- 四面体刨分相关开源软件列表
- 函数返回值为数组
- ubuntu常用命令记录
- 坚持塑造独特的自我
- Linux中让进程在后台运行方法
- Oracle实例和数据库
- 获取这个指定日期的上月的月初和月末时间