对于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; } }这样就达到了强制申请权限的功能,用户不开启权限就一直提示