点击打开链接之http://www.cnblogs.com/dazhao/p/6547811.html
前看了许多解决android7.0系统拍照奔溃问题的帖子,照做之后还是有问题,最终发现了上面的博客,经过测试可用,untiy交互的话需要改一些东西,以及上面帖子里的demo裁剪传参错误,改了一下。
裁减部分的代码需要把uri变量定义为全局的
/**
* 裁剪
*/
private void cropPhoto() {
File file = new FileStorage().createCropFile();
outputUri = Uri.fromFile(file);//缩略图保存地址
Log.i("outputuri",outputUri.toString());
Intent intent = new Intent("com.android.camera.action.CROP");
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
}
intent.setDataAndType(imageUri, "image/*");
intent.putExtra("crop", "true");
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", false);
intent.putExtra(MediaStore.EXTRA_OUTPUT, outputUri);
intent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString());
intent.putExtra("noFaceDetection", true);
startActivityForResult(intent, REQUEST_PICTURE_CUT);
}
上面的outputuri参数定义为全局的Uri变量,因为运行demo的时候发现裁剪过后显示的还是未裁剪的图片,查看相册时发现有新建的文件夹存储裁剪后的图片,所以应该把裁剪后的Uri存下来。
下面onActivityResult函数里需要将你获取到的uri转化为绝对路径传给untiy&