我的应用程序需要打开图库并选择要裁剪的图像。我将目标大小设置为值(87%* screenWide)。现在,出现了问题。在大屏幕设备中,图库无法返回裁剪后的图像,日志显示“!!! FAILED BINDER TRANSACTION !!!”。在大多数设备中,没关系。
任何人都可以帮我吗?谢谢!
我使用Intent.ACTION_GET_CONTENT进行裁剪,并设置outputX,outputY等。裁剪图像是例程。
答案 0 :(得分:7)
我遇到了类似的问题。如果您使用的是Android默认裁剪工具,则其最大裁剪限制为256x256。将裁剪的大小设置为小于或等于,你会没事的。
intent.putExtra("outputX", 256);
intent.putExtra("outputY", 256);
答案 1 :(得分:6)
尝试按以下方式发送意图:
mSavedUri = Uri.fromFile(new File("/sdcard/cropped.jpg"));
mImageSelectIntent = new Intent(Intent.ACTION_GET_CONTENT, null);
mImageSelectIntent.setType("image/*");
mImageSelectIntent.putExtra("crop", "true");
mImageSelectIntent.putExtra("aspectX", 4);
mImageSelectIntent.putExtra("aspectY", 3);
mImageSelectIntent.putExtra("outputX", mImageWidth);
mImageSelectIntent.putExtra("outputY", mImageHeight);
mImageSelectIntent.putExtra("output", mSavedUri);
裁剪后的图像将保存为裁剪的JPG,不会通过“数据”返回给您。
答案 2 :(得分:1)
重新解决壁纸问题,请尝试明确设置:
your_intent.putExtra("setWallpaper", false);