diff --git a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java index 1dd3edb..4f4dd95 100644 --- a/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java +++ b/android/src/main/java/com/lwansbrough/RCTCamera/RCTCameraModule.java @@ -573,7 +573,9 @@ public class RCTCameraModule extends ReactContextBaseJavaModule ); final ExifIFD0Directory exifIFD0Directory = metadata.getFirstDirectoryOfType(ExifIFD0Directory.class); - if (exifIFD0Directory.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) { + if (exifIFD0Directory == null) { + return data; + } else if (exifIFD0Directory.containsTag(ExifIFD0Directory.TAG_ORIENTATION)) { final int exifOrientation = exifIFD0Directory.getInt(ExifIFD0Directory.TAG_ORIENTATION); return rotate(data, exifOrientation); } @@ -654,6 +656,7 @@ public class RCTCameraModule extends ReactContextBaseJavaModule final Boolean shouldMirror = options.hasKey("mirrorImage") && options.getBoolean("mirrorImage"); RCTCamera.getInstance().adjustCameraRotationToDeviceOrientation(options.getInt("type"), deviceOrientation); + camera.setPreviewCallback(null); camera.takePicture(null, null, new Camera.PictureCallback() { @Override public void onPictureTaken(byte[] data, Camera camera) {