请教一个Android开发问题调用系统的相机的时候报空指针。
Process: com.android.camera2, PID: 18597
java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String com.android.camera.device.CameraId.getValue()' on a null object reference
atcom.android.camera.one.v2.Camera2OneCameraManagerImpl.getCameraCharacteristics(Camera2OneCameraManagerImpl.java:117) 展开
2017-12-05 · 让每个孩子都能正常讲话,是我们最大的心愿
在项目中遇到需要调用系统相机的功能点,整理方法如下
1.拍照完成之后直接存图片
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra("crop", "true");// crop=true 有这句才能出来最后的裁剪页面.
intent.putExtra("aspectX", 5); // 这两项为裁剪框的比例.
intent.putExtra("aspectY", 4);
intent.putExtra("output", Uri.fromFile(new File("SDCard/1.jpg")));//输出地址
intent.putExtra("outputFormat", "JPEG");//返回格式
startActivityForResult(intent, REQUEST_CAMERA);
获取图片直接在onActivityForResult中
BitmapFactory.decodeFile(fileName, opts);
2.拍照完成后读取intent中的数据,在onActivityForResult中
Uri uri = data.getData();
ContentResolver cr = this.getContentResolver();
try {
bitmap = BitmapFactory.decodeStream(cr.openInputStream(uri));
} catch (FileNotFoundException e) {
e.printStackTrace();
}