0
Camera 및 Camera2를 모두 지원하는 Android 앱을 만들려고합니다. 해당 코드 섹션에 대해 API 수준을 확인하는 if 문을 사용하여 수행했습니다. 그러나, 내가 lint 오류가있어 CameraAccessException 대처하는 데 문제가있어,하지만 그것을 제거하는 방법을 잘 모르겠습니다. API 수준을 검사하는 if 문으로 try/catch를 둘러싸면 lint 오류가 사라지지 않습니다. 린트 오류를 제거하는 다른 방법이 있습니까? 나는 검사를 억제하지 않을 것입니다.오래된 Apis 생성 린트 오류가있는 Android CameraAccessException
private String getFrontCamera2() {
if (Build.VERSION.SDK_INT >= 21) {
CameraManager cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
String[] cameraIdList;
try {
cameraIdList = cameraManager.getCameraIdList();
} catch (CameraAccessException e) {
return null;
}
for (String cameraId : cameraIdList) {
CameraCharacteristics cameraCharacteristics = null;
try {
cameraCharacteristics = cameraManager.getCameraCharacteristics(cameraId);
} catch (CameraAccessException e) {
return null;
}
Integer lensFacing = cameraCharacteristics.get(CameraCharacteristics.LENS_FACING);
if (lensFacing != null && lensFacing == CameraCharacteristics.LENS_FACING_FRONT) {
return cameraId;
}
}
}
return null;
}
코드의 조각 두 catch 문은 "클래스 API 레벨 21를 필요로"린트 오류를 생성하는 : 여기에 내가 무슨 말의 예입니다.