Dev/Android

Android Flash(light) 기능 사용

healthyryu 2018. 7. 30. 15:51

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);




예제 코드 : https://github.com/wlgnsdi/LightTest

반응형