Android 檢查當前裝置是否有攝像頭
阿新 • • 發佈:2018-11-20
直接上程式碼
由於getNumberOfCameras以及getCameraInfo均為API 9 引入,所以方法只適用於2.3及其以上。 PS:貌似現在找個4.0以下的手機也有點難了,這個問題可以直接忽略...package com.app.emdk; import android.hardware.Camera; import android.os.Build; /** * Created by WangXM on 2016/7/13. */ public class CameraProvider { private static boolean checkCameraFacing(final int facing) { if (getSdkVersion() < Build.VERSION_CODES.GINGERBREAD) { return false; } final int cameraCount = Camera.getNumberOfCameras(); Camera.CameraInfo info = new Camera.CameraInfo(); for (int i = 0; i < cameraCount; i++) { Camera.getCameraInfo(i, info); if (facing == info.facing) { return true; } } return false; } /** * 檢查裝置是否有攝像頭 * @return */ public static boolean hasCamera() { return hasBackFacingCamera() || hasFrontFacingCamera(); } /**檢查裝置是否有後置攝像頭 * @return */ public static boolean hasBackFacingCamera() { final int CAMERA_FACING_BACK = 0; return checkCameraFacing(CAMERA_FACING_BACK); } /**檢查裝置是否有前置攝像頭 * @return */ 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; } }