Hi, 大家周末愉快!
羊了仍在苦苦debug的码农,请教安卓DX一个问题,在app中调用 CROP intent裁剪照片,调用无效!LogCat中也没有什么线索。而拍照生成照片没问题。
主要代码如下:
Intent intent = new Intent("com.android.camera.action.CROP");
intent.setType("image/*");
intent.setData(mImageCaptureUri);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
intent.putExtra("outputX", 480);
intent.putExtra("outputY", 480);
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("scaleUpIfNeeded", true);
intent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCropUri);
intent.putExtra("crop", "true");
intent.putExtra("return-data", false);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true);
startActivityForResult(intent, CROP_FROM_CAMERA);
其中:
谢谢大家!
我追加了代码授权以及打印异常信息,如下。然而没有任何效果哦。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
grantUriPermission(getPackageName(),mImageCaptureUri,Intent.FLAG_GRANT_READ_URI_PERMISSION);
grantUriPermission(getPackageName(),mImageCropUri,Intent.FLAG_GRANT_READ_URI_PERMISSION);
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
try {
startActivityForResult(intent, CROP_FROM_CAMERA);
}
catch (Exception e) {
e.printStackTrace();
}