1、权限检测:checkSelfPermission(Manifest.permission.CAMERA)
  权限申请:ActivityCompat.requestPermissions
if (Build.VERSION.SDK_INT >= 23) {
if (checkSelfPermission(Manifest.permission.CAMERA)== PackageManager.PERMISSION_GRANTED){
    //是否授权
   }else{
     ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA},101);
   }
}
2.权限“不再提示”
@Override
public void onRequestPermissionsResult(int requestCode,String[] permissions,int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
boolean hasAllGranted = true;
for (int i = 0; i < grantResults.length; ++i) {
if (grantResults[i] == PackageManager.PERMISSION_DENIED) {
hasAllGranted = false;
if (!ActivityCompat.shouldShowRequestPermissionRationale(this, permissions[i])) {
//解释原因,并且引导用户至设置页手动授权
Toast.makeText(this,"不在提示",Toast.LENGTH_SHORT).show();
LogUtil.d("不再提示");
} else {
//权限请求失败,但未选中“不再提示”选项
LogUtil.e("禁止权限");
}
break;
}
}
if (hasAllGranted) {
//权限请求成功
Toast.makeText(this,"成功",Toast.LENGTH_SHORT).show();
LogUtil.d("成功");
}
}
posted on 2017-12-20 11:03  艾先生  阅读(123)  评论(0)    收藏  举报