解决Android 6.0以上的相机权限适配问题

近期创业大潮中,几个小伙伴,拼了命往前赶,这边app一个月连带着服务端一个人搞定,这几天遇到一个问题

使用zxing扫码的时候,CaptureActivity界面的相机不能使用,log一下,显示camera为空,其实之前我一直怀疑是不是,Android 6.0不支持camera,我是不是要把zxing的camera实现改为camera v2呢(工作量其实可不小啊),so,查了一下资料,试了一下,就ok了

原来是权限的问题,需要动态申请一下,之前Android 6.0以上也不能直接存储(不能存储指不能随意在Android的sd卡等直接创建文件夹和文件,但是可以直接在所属应用中进存储,如下获取应用的data文件夹,eg:

File file = new File(getFilesDir(),"image.png");

),查了一下也是权限需要动态申请,感兴趣自己查一下了,我现在这个项目目前不需要了,

解决Android 6.0 以上(不包含Android 6.0)的动态申请camera权限,在需要启动camera的界面oncreate中进行动态申请权限即可:

ActivityCompat.requestPermissions(this,new String[]
        {Manifest.permission.CAMERA,Manifest.permission.WRITE_EXTERNAL_STORAGE},1);


你可能感兴趣的:(Android)