/** * request Camera Permission * Created by long.yan on 2017/9/15. * * @author long.yan */ public class PermissionUtils { public static boolean hasCameraPermission(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { MELog.e("版本-->" + Build.VERSION.SDK_INT, "Android6.0以上"); return ContextCompat.checkSelfPermission(activity, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED; } else { MELog.e("版本-->" + Build.VERSION.SDK_INT, "Android6.0以下"); PackageManager packageManager = activity.getPackageManager(); int permission = packageManager.checkPermission("android.permission.CAMERA", activity.getPackageName()); MELog.i("hasCameraPermission->", "" + permission); if (PackageManager.PERMISSION_GRANTED == permission) { return true; } else { return false; } } } public static void reqCameraPermission(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { MELog.e("版本-->" + Build.VERSION.SDK_INT, "Android6.0以上"); activity.requestPermissions(new String[]{Manifest.permission.CAMERA}, 0); } else { MELog.e("版本-->" + Build.VERSION.SDK_INT, "Android6.0以下"); ActivityCompat.requestPermissions(activity, new String[]{Manifest.permission.CAMERA}, 0); } } /** * 返回true 表示可以使用 返回false表示不可以使用 */ public static boolean cameraIsCanUse() { boolean isCanUse = true; Camera mCamera = null; try { mCamera = Camera.open(); Camera.Parameters mParameters = mCamera.getParameters(); mCamera.setParameters(mParameters); } catch (Exception e) { isCanUse = false; } if (mCamera != null) { try { mCamera.release(); } catch (Exception e) { e.printStackTrace(); return isCanUse; } } return isCanUse; } }