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中使用BitmapShader类来制作各种图片的圆角
这篇文章主要介绍了Android中使用BitmapShader类来制作各种图片的圆角的方法,文中随教程讲解带出的例子可以轻松控制图片圆形的变换,很好很强大,需要的朋友可以参考下2016-04-04
Android性能优化之利用强大的LeakCanary检测内存泄漏及解决办法
本篇文章主要介绍了Android性能优化之利用LeakCanary检测内存泄漏及解决办法,有兴趣的同学可以了解一下。2016-11-11
Android 缩放动画 ScaleAnimation的使用小结
ScaleAnimation即缩放动画,应用场景特别多,比如常见的隐藏菜单点击显示,这篇文章主要介绍了Android 缩放动画 ScaleAnimation的使用小结,需要的朋友可以参考下2024-03-03


最新评论