0
CameraとCamera2の両方をサポートするAndroidアプリを作成しようとしています。コードの適切なセクションについてAPIレベルをチェックするif文を使用しています。しかし、私はlintエラーが発生しているという点でCameraAccessExceptionに対処するのに問題がありますが、それを取り除く方法がわかりません。 APIレベルをチェックするifステートメントでtry/catchを囲むと、lintエラーは消えません。糸くずのエラーを取り除く他の方法はありますか?私は検査を抑圧したくはない。古いApisのlintエラーを生成する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を必要とする」リントエラーが発生している:ここで私が話しているかの例があります。