1. 程式人生 > >魅族、小米、華為等國產手機動態請求許可權崩潰問題

魅族、小米、華為等國產手機動態請求許可權崩潰問題

在國產手機上經常碰到使用者明明已經拒絕許可權,check時返回的卻是true,接著就崩潰了,這時候你不仁,就別怪我不義了,直接try{}catch(){},以相機許可權為例
if (permission.granted) {
    // 使用者已經同意該許可權,魅族等國產手機即使使用者拒絕許可權仍然會走這裡
    try{
        Camera camera = Camera.open();//並且這裡不會返回null
        Camera.Parameters parameters = camera.getParameters();//如果被拒絕這裡會拋異常
        camera.setParameters(parameters);//如果被拒絕這裡會拋異常
        if(camera != null){
           camera.release();//釋放掉
        }
        useCamera();//真正拿到許可權使用相機
    }catch (Exception e){
       ToastUtils.show(conetxt, "相機許可權被拒絕");
    }

}