1.activity中申请权限
private static final int MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE = 1;
public void testPermission() {
//判断权限是否打开
if (ContextCompat.checkSelfPermission(this,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
//申请权限
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
} else {
//调用方法
}
}
@Override
//回调方法
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//调用方法
} else {
// 禁止后操作
}
return;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}
2.fragment中申请权限
private static final int REQUEST_PERMISSION_CAMERA_CODE = 1;
public void requestPermissions() {
//判断权限是否打开
if (ContextCompat.checkSelfPermission(activity,
Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
//申请权限
requestPermissions(
new String[]{Manifest.permission.CAMERA},
REQUEST_PERMISSION_CAMERA_CODE);
} else{
//调用方法
}
}
@Override
//回调方法
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == REQUEST_PERMISSION_CAMERA_CODE) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//调用方法
} else {
// 权限禁止后操作
}
return;
}
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
}