检查Android是否具有摄像头
2016-02-19 10:56
471 查看
(转载)http://droidyue.com/blog/2014/06/14/check-camera-in-android/
技术小黑屋
通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。
以下代码为一系列的方法,用来判断是否有前置摄像头(Front Camera),后置摄像头。
注意:由于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开发高手进阶(中国程序员)
技术小黑屋
通常我们进行摄像头操作,如扫描二维码需要判断是否有后置摄像头(Rear camera),比如Nexus 7 一代就没有后置摄像头,这样在尝试使用的时候,我们需要进行判断进行一些提示或者处理。
以下代码为一系列的方法,用来判断是否有前置摄像头(Front Camera),后置摄像头。
import android.hardware.Camera; import android.hardware.Camera.CameraInfo; import android.os.Build; public class CameraUtils { /** * 检测是否有前置摄像头 * @return */ public static boolean hasFrontFacingCamera() { final int CAMERA_FACING_BACK = 1; return checkCameraFacing(CAMERA_FACING_BACK); } /** * 检测是否有后置摄像头 * @return */ public static boolean hasBackFacingCamera() { final int CAMERA_FACING_BACK = 0; return checkCameraFacing(CAMERA_FACING_BACK); } 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 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
Others
Android开发高手进阶(中国程序员)相关文章推荐
- Android 启动模式简析
- android客户端与javaweb服务端通信——登录小demo的启示
- android studio安装及使用
- android系统常用URI
- Android开发中PopupWindow用法实例分析
- Android省市区三级联动滚轮选择(真实项目中提取出来的组件)
- Android GridView自适应高度
- Android开发中一些被冷落但却很有用的类和方法
- Android应用中的文字字体统一设置
- Android Wi-Fi基本操作
- Android应用中去掉标题栏的方法
- android px转换dp
- android中finish()与system.exit(0)的区别?
- Android层测试摄像头实际输出帧率大小
- Android的手势操作识别
- Android开发中应用程序分享功能实例
- Android Studio之版本管理工具Git (图文教程)
- Android常用开源工具(2)-Dagger2进阶
- android之wifi开发
- Android中自动连接到指定SSID的Wi-Fi