1. 程式人生 > >解決Android 6.0以上的相機許可權適配問題

解決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);