<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = cameraManager.getCameraIdList()[0];
cameraManager.openCamera(cameraId, cameraStateCallback, null);
CameraDevice.StateCallback cameraStateCallback = new CameraDevice.StateCallback() {
@Override
public void onOpened(@NonNull CameraDevice camera) {
}
@Override
public void onDisconnected(@NonNull CameraDevice camera) {
}
@Override
public void onError(@NonNull CameraDevice camera, int error) {
}
};
camera.createCaptureSession(Arrays.asList(surface), captureSessionStateCallback, null);
CameraCaptureSession.StateCallback captureSessionStateCallback = new CameraCaptureSession.StateCallback() {
@Override
public void onConfigured(@NonNull CameraCaptureSession session) {
}
@Override
public void onConfigureFailed(@NonNull CameraCaptureSession session) {
}
};
CaptureRequest.Builder captureRequestBuilder = camera.createCaptureRequest(CameraDevice.TEMPLATE_PREVIEW);
captureRequestBuilder.addTarget(surface);
CaptureRequest captureRequest = captureRequestBuilder.build();
session.setRepeatingRequest(captureRequest, null, null);
camera.close();
Intent intent = new Intent(MainActivity.this, CameraActivity.class);
startActivity(intent);