Android Flash(light) 기능 사용
Android Flash(light) 사용하기!!
Photo by Ezekiel Elin on Unsplash
1. 사용권한 때문에 Manifest.xml 에 추가
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-feature android:name="android.hardware.camera.flash" />
2. Flash 기능을 지원하는지 체크
if (getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)) {
// .. 플래시 켜기
}
else {
// .. 플래쉬 지원하지 않음.
}
3. Flash On(), Off() 구현
-- SDK Level 23 이상
Camera camera = Camera.open();
Camera.Parameters parameters = camera.getParameters();
// on
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
camera.setParameters(parameters);
camera.startPreview();
// off
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_OFF);
camera.setParameters(parameters);
camera.stopPreview();
-- SDK Level 23미만
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String cameraId = mCameraManager.getCameraIdList()[0];
// on
cameraManager.setTorchMode(cameraId, true);
//off
cameraManager.setTorchMode(cameraId, false);