80,471
社区成员




//6.0权限申请
private void checkPhonePermissions() {
//使用兼容库就无需判断系统版本
int hasPhonePermissions = ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE);
if (hasPhonePermissions == PackageManager.PERMISSION_GRANTED) {
CommonUtil.makeCall(detailMdl.getPublisherPhone(), PPVendorDetailInfoActivity.this);
} else {
//需要弹出dialog让用户手动赋予权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE},
CodeBook.Permission.Phone);
}
}
//ActivityCompat.requestPermissions的回调
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
if (requestCode == CodeBook.Permission.Phone) {
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
//用户同意读取相册信息
MsgUtil.toast("授权成功,再次点击" + "\"" + "电话按钮" + "\"" + "即可拨打电话");
} else {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CALL_PHONE)) {
CustomAlertDialog dialog = new CustomAlertDialog(this, "拨打电话需要赋予访问打电话的权限,不授权将无法正常工作!",
"知道了", "去授权", true);
dialog.setOnClickYesListener(new CustomAlertDialog.OnClickYesListener() {
@Override
public void doConfirm() {
ActivityCompat.requestPermissions(PPVendorDetailInfoActivity.this, new String[]{Manifest
.permission.CALL_PHONE}, CodeBook.Permission.Phone);
}
});
dialog.setCancelable(false);
dialog.show();
}
}
}
}
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCompat.requestPermissions(PointActivity.this, new String[]{Manifest.permission.CAMERA}, 1210);
}
});
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ActivityCompat.requestPermissions(PointActivity.this, new String[]{Manifest.permission.CAMERA}, 1210);
}
});
代码就是请求权限的一句话啊。注意targetSdkVersion和compileSdkVersion要是23才行