//获取日立权限
public void fetchPermission(int requestCode) {
int checkSelfPermission;
try {
checkSelfPermission = ActivityCompat.checkSelfPermission(getActivity(),Manifest.permission.WRITE_CALENDAR);
} catch (RuntimeException e) {
e.printStackTrace();
return;
}
// 如果有授权,走正常插入日历逻辑
if (checkSelfPermission == PackageManager.PERMISSION_GRANTED) {
//insertCalendar(); // 该方法的实现在文章的后面
return;
} else {
// 如果没有授权,就请求用户授权
ActivityCompat.requestPermissions(getActivity(),new String[]{Manifest.permission.WRITE_CALENDAR,
Manifest.permission.READ_CALENDAR}, requestCode);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
@NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
if (requestCode == REQUEST_CALENDAR) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 用户同意的授权请求
//insertCalendar();
} else {
if (!ActivityCompat.shouldShowRequestPermissionRationale(getActivity(), Manifest.permission.WRITE_CALENDAR)) {
// 如果用户不是点击了拒绝就跳转到系统设置页
Intent intent = new Intent(Settings.ACTION_DATA_ROAMING_SETTINGS);
startActivity(intent);
}
}
}
}
来源:https://blog.csdn.net/weixin_42416789/article/details/99675563