只需要两步走: 一、代码请求权限
/**
* android6.0运行时权限,检测
*/
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {//6.0以上
int checkPermission = checkSelfPermission(Manifest.permission.CAMERA);
if (checkPermission != PackageManager.PERMISSION_GRANTED) {
requestPermissions(new String[]{Manifest.permission.CAMERA}, 1);//后面的1为请求码
return;
} else {
initCamera(holder);//zxing二维码扫描,需要摄像头权限
}
} else {//6.0以下
initCamera(holder); //zxing二维码扫描,需要摄像头权限
}
二、处理权限的结果
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode) {//请求码
case 1:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {//允许
// Permission Granted
mLocationClient.startLocation();
} else {//禁止
ToastUtil.showToast(getApplicationContext(), "定位权限被禁止");
}
break;
default:
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}