通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。xuSHTML5中文学习网 - HTML5先行者学习网
xuSHTML5中文学习网 - HTML5先行者学习网private static boolean checkCameraFacing(final int facing) {
xuSHTML5中文学习网 - HTML5先行者学习网 if (getSdkVersion() < Build.VERSION_CODES.GINGERBREAD) {
xuSHTML5中文学习网 - HTML5先行者学习网 return false;
xuSHTML5中文学习网 - HTML5先行者学习网 }
xuSHTML5中文学习网 - HTML5先行者学习网 final int cameraCount = Camera.getNumberOfCameras();
xuSHTML5中文学习网 - HTML5先行者学习网 CameraInfo info = new CameraInfo();
xuSHTML5中文学习网 - HTML5先行者学习网 for (int i = 0; i < cameraCount; i++) {
xuSHTML5中文学习网 - HTML5先行者学习网 Camera.getCameraInfo(i, info);
xuSHTML5中文学习网 - HTML5先行者学习网 if (facing == info.facing) {
xuSHTML5中文学习网 - HTML5先行者学习网 return true;
xuSHTML5中文学习网 - HTML5先行者学习网 }
xuSHTML5中文学习网 - HTML5先行者学习网 }
xuSHTML5中文学习网 - HTML5先行者学习网 return false;
xuSHTML5中文学习网 - HTML5先行者学习网}
xuSHTML5中文学习网 - HTML5先行者学习网public static boolean hasBackFacingCamera() {xuSHTML5中文学习网 - HTML5先行者学习网
final int CAMERA_FACING_BACK = 0;xuSHTML5中文学习网 - HTML5先行者学习网
return checkCameraFacing(CAMERA_FACING_BACK);xuSHTML5中文学习网 - HTML5先行者学习网
}xuSHTML5中文学习网 - HTML5先行者学习网
public static boolean hasFrontFacingCamera() {xuSHTML5中文学习网 - HTML5先行者学习网
final int CAMERA_FACING_BACK = 1;xuSHTML5中文学习网 - HTML5先行者学习网
return checkCameraFacing(CAMERA_FACING_BACK);xuSHTML5中文学习网 - HTML5先行者学习网
}xuSHTML5中文学习网 - HTML5先行者学习网
public static int getSdkVersion() {xuSHTML5中文学习网 - HTML5先行者学习网
return android.os.Build.VERSION.SDK_INT;xuSHTML5中文学习网 - HTML5先行者学习网
}xuSHTML5中文学习网 - HTML5先行者学习网