Android中判断是否有前置摄像头、后置摄像头的方法
通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。
以下代码为一系列的方法,用来判断是否有前置摄像头(Front Camera),后置摄像头。
private static boolean checkCameraFacing(final int facing) {
if (getSdkVersion() < Build.VERSION_CODES.GINGERBREAD) {
return false;
}
final int cameraCount = Camera.getNumberOfCameras();
CameraInfo info = new CameraInfo();
for (int i = 0; i < cameraCount; i++) {
Camera.getCameraInfo(i, info);
if (facing == info.facing) {
return true;
}
}
return false;
}
public static boolean hasBackFacingCamera() {
final int CAMERA_FACING_BACK = 0;
return checkCameraFacing(CAMERA_FACING_BACK);
}
public static boolean hasFrontFacingCamera() {
final int CAMERA_FACING_BACK = 1;
return checkCameraFacing(CAMERA_FACING_BACK);
}
public static int getSdkVersion() {
return android.os.Build.VERSION.SDK_INT;
}
注意:由于getNumberOfCameras以及getCameraInfo均为API 9 引入,所以方法只适用于2.3及其以上。
延伸阅读:http://developer.android.com/reference/android/hardware/Camera.html http://developer.android.com/reference/android/hardware/Camera.CameraInfo.html
相关文章
Android种使用Notification实现通知管理以及自定义通知栏实例(示例四)
本篇文章主要介绍了Android种使用Notification实现通知管理以及自定义通知栏实例,具有一定的参考价值,需要的朋友可以了解一下。2016-12-12Android Presentation双屏异显开发流程详细讲解
最近开发的一个项目,有两个屏幕,需要将第二个页面投屏到副屏上,这就需要用到Android的双屏异显(Presentation)技术了,研究了一下,这里做下笔记2023-01-01Flutter基于Dart Unwrapping Multiple Optional小技巧
这篇文章主要为大家介绍了Flutter Unwrapping Multiple Optional打开多个选项小技巧示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2022-12-12
最新评论