android強制申請許可權

puyaCheer發表於2018-04-27

對於android 6.0 增加了使用者許可權動態申請的許可權,通常很多時候需要對許可權進行動態的申請,如果碰到使用者關掉了許可權,那功能就無法使用,這裡拿相機許可權進行舉例吧!

if (PackageManager.PERMISSION_GRANTED ==   ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)) {
   //有許可權,正常辦事情
}else{
    //提示使用者開戶許可權 申請許可權
    String[] perms = {"android.permission.CAMERA"};
    ActivityCompat.requestPermissions(this,perms, 100);
}


申請許可權的回撥

@Override
public void onRequestPermissionsResult(int permsRequestCode, String[] permissions, int[] grantResults){
    LogUtils.e("per_size-->"+ grantResults.length);
    switch(permsRequestCode){
        case 100:
            if (grantResults.length>0){  //判斷許可權
                boolean albumAccepted = grantResults[0]==PackageManager.PERMISSION_GRANTED;
                if(!albumAccepted){      //沒有許可權,繼續申請,使用者拒絕了頁申請
                    showMessage("請先開啟相機許可權");
                    String[] perms = {"android.permission.CAMERA"};
                    ActivityCompat.requestPermissions(this,perms, 100);
                }else{                  //有許可權,正常辦事情
                    mQRCodeView.startCamera();
                    mQRCodeView.startSpotAndShowRect();
                }
            }
            break;
    }
}
這樣就達到了強制申請許可權的功能,使用者不開啟許可權就一直提示

相關文章