dependencies {
implementation 'com.otaliastudios:cameraview:2.0.0'
}
private static final int REQUEST_CAMERA_PERMISSION = 200;
private void requestCameraPermission() {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);
} else {
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_CAMERA_PERMISSION) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
} else {
}
}
}
<com.otaliastudios.cameraview.CameraView
android:id="@+id/camera"
android:layout_width="match_parent"
android:layout_height="match_parent" />
private CameraView cameraView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cameraView = findViewById(R.id.camera);
cameraView.start();
}
private void takePicture() {
cameraView.capturePicture();
}
public void onCapturePicture(View view) {
takePicture();
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CameraView.REQUEST_PICTURE_CAPTURE) {
if (resultCode == RESULT_OK) {
String picturePath = data.getStringExtra(CameraView.PICTURE_FILE_PATH);
} else if (resultCode == RESULT_CANCELED) {
}
}
}
cameraView.setFacing(CameraView.FACING_FRONT);
cameraView.setFlash(CameraView.FLASH_TORCH);