我试过了
CameraManager manager = (CameraManager) context.getSystemService(Context.CAMERA_SERVICE); try { for(String ID: manager.getCameraIDList()) Log.e("dualtest",ID); } catch (CameraAccessException e) { e.printstacktrace(); }
但它只给我2个0和1.
解决方法 您可以使用Camera.getCameraInfo,如下所示.如果你使用API lvl 9List<Integer> camID = new ArrayList<Integer>(); for(int i=0;i<Camera.getNumberOfCameras();i++){ CameraInfo cameraInfo = new CameraInfo(); Camera.getCameraInfo(i,cameraInfo); if(cameraInfo.facing==CameraInfo.CAMERA_FACING_BACK) { camID.add(i); break; } }
如果您使用的是API lvl 21,可以使用Camera2 API
List<String> camID = new ArrayList<String>(); 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) { camID.add(cameraID); break; } }
参考
https://developer.android.com/reference/android/hardware/camera2/CameraManager.html
https://developer.android.com/reference/android/hardware/Camera.html#getCameraInfo(int,%20android.hardware.Camera.CameraInfo)
总结以上是内存溢出为你收集整理的如何检测Android手机是否有双背相机全部内容,希望文章能够帮你解决如何检测Android手机是否有双背相机所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)