[Android] 调用系统裁切图片的 !!! FAILED BINDER TRANSACTION !!! 错误
2013-04-03 21:21
399 查看
需求:从系统里选择一张图片并裁剪为屏幕比例
采用网上流传的代码
使用Intent调用图片浏览器后出现
!!! FAILED BINDER TRANSACTION !!!错误
(error过滤器中 本应用的过滤器中未出现)
将裁切框缩小没问题 截图后发现返回的Intent中有个Bitmap对象
问Google后发现Intent有个极低的容量上限
现在使用的代码
customBgImage 是一个File类 为存储剪切后图片的文件
系统裁切会自动将裁切好的图片存储为该文件
接下来只要在onActivityResult中 调用这个文件即可
采用网上流传的代码
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调用系统图片裁切后出现黑边
- Android调用系统裁减图片,出现android.os.TransactionTooLargeException: data parcel size 642356 bytes
- E/JavaBinder:FAILED BINDER TRANSACTION错误解决+RadioGroup调用check方法的时候,onCheckedChanged被调用多次的问题解决
- Android调用系统相机,相册裁切图片展示的实现
- Android调用相册拍照控件实现系统控件缩放切割图片
- 解决通过Intent调用系统拍照程序,返回图片太小的问题[android]
- android 调用系统图库查看指定路径的图片
- android 7.0以上共享文件(解决调用系统照相和图片剪切出现的FileUriExposedException崩溃问题)
- 关于android中调用系统拍照,返回图片是旋转90度...
- Android调用系统相机、自定义相机、处理大图片
- Android 调用相册 拍照 实现系统控件缩放 切割图片 .
- 丢失Android系统库或者Conversion to Dalvik format failed with error 1错误的解决
- Android 调用系统相册 并回调所选的图片
- 调用Android系统自带的图片浏览器
- Android 调用系统相册选择图片并显示
- [置顶] android 调用系统相机进行拍照及照片的裁切
- Android调用系统图片裁剪限定尺寸及7.0照相问题的解决方法
- 调用系统裁切 com.android.camera.action.CROP 如何才能横屏裁切呢?
- 丢失Android系统库或者Conversion to Dalvik format failed with error 1错误的解决
- Android调用系统摄像头和相册遇到大图片处理的解决方案