以下是我解决的办法:
1.在Fragment使用方法
if (ContextCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
requestPermissions(new String[]{Manifest.permission.CAMERA}, 1);
}else {
openCamera();
}
2.在Activity使用方法
if (ContextCompat.checkSelfPermission(PerfectInformationActivity.this, Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
ActivityCompat.requestPermissions(PerfectInformationActivity.this,
new String[]{Manifest.permission.CAMERA}, 1);
}else {
openCamera();
}
在Fragment中申请权限,不要使用ActivityCompat.requestPermissions, 直接使用Fragment的requestPermissions方法,否则在Fragment中无法回调onRequestPermissionsResult