You*_*oub 8 java camera android
如何检测设备背面是否有摄像头?
这是我检测设备是否有手电筒的代码:
if (context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH)
|| (_camera.getParameters().getSupportedFlashModes() != null)) hasFlashlight = true;
else hasFlashlight = false;
Run Code Online (Sandbox Code Playgroud)
但即使设备只有没有手电筒的前置摄像头,它也是正确的.
ben*_*n75 18
对于API> = 9:您可以使用Camera.getCameraInfo,如下所示:
int backCameraId = -1;
for(int i=0;i<Camera.getNumberOfCameras();i++){
CameraInfo cameraInfo = new CameraInfo();
Camera.getCameraInfo(i,cameraInfo);
if(cameraInfo.facing==CameraInfo.CAMERA_FACING_BACK) {
backCameraId = i;
break;
}
}
Log.d(TAG, "back camera exists ? "+(backCameraId>-1));
Log.d(TAG, "back camera id :"+backCameraId);
Run Code Online (Sandbox Code Playgroud)
对于API> = 21,建议您使用Camera2 API:
String backCameraId = null;
CameraManager manager = (CameraManager) getSystemService(Context.CAMERA_SERVICE);
for(String cameraId:manager.getCameraIdList()){
CameraCharacteristics cameraCharacteristics = manager.getCameraCharacteristics(cameraId);
Integer facing = cameraCharacteristics.get(CameraCharacteristics.LENS_FACING);
if(facing==CameraMetadata.LENS_FACING_BACK) {
backCameraId = cameraId;
break;
}
}
Log.d(TAG, "back camera exists ? "+(backCameraId!=null));
Log.d(TAG, "back camera id :"+backCameraId);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3989 次 |
| 最近记录: |