내 앱에는 리어 카메라가 필요한 기능이 있습니다. 전면 카메라가 있는지 여부는 내 필요와 관련이 없습니다. 모든 상황에서 후방 카메라의 존재 여부를 감지 할 수있는 확실한 루틴을 만들어내는 것이 까다로울 수 있습니다. 예를 들어, HTC Evo 3D를 사용하는 사용자는 앱에 후방 카메라가 없다고 분명히 말했고 다른 사용자로부터 유사한 불만이 제기되었다고 불평했습니다.리어 카메라 부족 감지
수많은 기기가 있지만 Nexus 7과 같은 전면 카메라 만있는 기기 나 사용자가 언급 한 모델이 없기 때문에 까다로운 문제입니다. 여기
내가 무엇을, 그리고이이 사이트에 다른 답변에 코드에서 찍은 그러나PackageManager pm = context.getPackageManager();
return pm.hasSystemFeature(PackageManager.FEATURE_CAMERA);
: 지금이 훨씬 간단 버전으로이 코드를 교체 한
boolean rearCameraFound = false;
if(BUILD_VERSION > 8){
int cameraCount = 0;
Camera cam = null;
Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
cameraCount = Camera.getNumberOfCameras();
for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
Camera.getCameraInfo(camIdx, cameraInfo);
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_BACK ) {
try {
cam = Camera.open(camIdx);
Log.d("TAG", "Rear camera detected");
rearCameraFound = true;
} catch (RuntimeException e) {
Log.e("TAG", "Camera failed to open: " + e.getLocalizedMessage());
}
}
if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
Log.d("TAG", "Front camera detected");
}
}
return rearCameraFound;
}else{
if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA)){
// this device has a camera
return true;
} else {
// no camera on this device
return false;
}
}
, 예를 들어 Nexus 7에서는 전면 카메라 만 있으면 어떤 일이 일어날 지 모르겠습니다. 이게 사실일까요?
후면 카메라가 있는지 여부를 알려주는 코드를 찾고 있습니다!
을 존재하지 않는다 이 코드는 Nexus 7 실행중인 주식에 대해 false를 반환합니다. JB 4.2 –
Sahil - 과거에이 작업을 시도했으나 이렇게하기에 충분한 명성이 없었 음을 알 렸습니다.지금 당장 가지고 있다고 생각합니다. 제 질문을 확실히 지키고, 이것이 끝났다고 확신합니다, 고마워요. – androidneil