我的 Galaxy Nexus 现在运行在 Android 4.3 上,允许我使用这个新版本测试我的应用程序。除了裁剪,一切似乎都很好。
我有一个应用程序,它使用相机拍照,然后通过图库应用程序裁剪图像。
我还可以从图库中选择一张图片,然后对其进行裁剪。从 Android 4.3 开始,图库应用发生了变化。
如果我使用相机 api 拍照,然后要求画廊在我的onActivityResult 方法中对其进行裁剪,则 resultCode 设置为 0(表示取消),而我从裁剪视图中单击了“保存”。
但是,如果我从图库中选择一张图片并裁剪它一切正常,则 resultCode 参数设置为 -1。在这两种情况下,我都调用相同的方法来裁剪图片。
我的手机上有 quickpic(画廊应用程序的替代品),一切正常!
private void performCrop(Uri picUri) {
try {
int aspectX = 750;
int aspectY = 1011;
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setDataAndType(picUri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("scale", "true");
intent.putExtra("aspectX", aspectX);
intent.putExtra("aspectY", aspectY);
intent.putExtra("scaleUpIfNeeded", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(mCurrentPhotoPath)));
startActivityForResult(intent, CROP);
}
catch (ActivityNotFoundException anfe) {
String errorMessage = "Your device doesn't support the crop action!";
Toast toast = Toast.makeText(this, errorMessage, Toast.LENGTH_SHORT);
toast.show();
}
}
在 Android 4.2.2 上一切正常。谢谢您的帮助 !