Android检测系统的摄像头是否可用

来源:互联网 发布:深圳cnc编程招聘信息 编辑:程序博客网 时间:2024/05/22 13:37

最近在做一个项目,扫码功能,一切都很顺利,就是在测试的时候出现bug,开发好的app安装到手机后,用户故意禁用摄像功能后,在扫码的话就会报错,怎样获取用户是否禁用了摄像功能?

关键代码:

/** 
         * 测试当前摄像头能否被使用 
         * @return 
         */
      public static boolean isCameraCanUse() {
            boolean canUse = true;
            Camera mCamera = null;
            try {
                // TODO camera驱动挂掉,处理??
                mCamera = Camera.open();
            } catch (Exception e) {
                canUse = false;
            }
            if (canUse) {
                mCamera.release();
                mCamera = null;
            }
            
            return canUse;
      }

这段代码在扫码之前,判断一下就ok了;


另外:应用是否有摄像头权限


boolean permission = (PackageManager.PERMISSION_GRANTED == ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CAMERA));

if (permission) {
Toast.makeText(MainActivity.this, "有这个权限", 1).show();
}else {
Toast.makeText(MainActivity.this, "木有这个权限", 1).show();
}

0 0
原创粉丝点击