Android6.0以下系统判断相机权限

关于Android权限检测问题 在6.0系统以后由于使用的是动态权限 很好判断 关键是6.0之前的系统发现没有可用的API来获取相应的权限是否被用户禁用或者允许使用。

其中有相应的checkPermission()方法 但是这些方法只是判断清单文件中是否注册过此类权限。用户的操作是获取不到的。

Android6.0的处理方式:

PackageManager packageManager = getPackageManager();  
int permission = packageManager.checkPermission("android.permission.CAMERA", "your packageName");  
if(PackageManager.PERMISSION_GRANTED == permission){  
    //有这个权限   
}else {  
    //没有这个权限  
}  

那我们如何在6.0以下的系统检测权限呢?
目前的方法是使用 try{ } catch() {} 的方式 :

/** 
*  返回true 表示可以使用  返回false表示不可以使用 
*/  
public 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;  
    }  

这也算是一种折中方式实现拍照权限的判断。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,126评论 25 709
  • 发热放入Android6.0带来了新的权限管理方式,根据提供的官方文档,再加上自己的理解,做了以下汇总仅供大家伙参...
    PapiAP阅读 1,790评论 0 6
  • Andriod 6.0 动态权限Permission相关 推荐博文: 随着Android 6.0发布以及普及,我们...
    大荣言午阅读 17,802评论 3 15
  • 俗话说“三个臭皮匠,顶一个诸葛亮”,从人数上或者力量上,应该是对的,但是从价值上,我想说的一干个一万个“臭皮匠",...
    黄健歌阅读 214评论 0 0
  • 因为swift泛型还不支持逆变和协变也就不会有真的类型擦除,而这里说的"类型擦除"是指:利用一个具体实现的通用泛型...
    fuadam1982阅读 1,410评论 1 3