分三部: 1.首先,检查该权限是否已经添加(这里为还未授予该权限)
if (ContextCompat.checkSelfPermission(this, permission) != PackageManager.PERMISSION_GRANTED) {
}
2.添加权限 //这里的code用于在后期的数据结果等到后知道是谁发的请求
ActivityCompat.requestPermissions(this, permissions, code);
3.请求返回的结果
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case Code.call:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
callPhone();
}else {
Toast.makeText(this, "can not call telphone", Toast.LENGTH_SHORT).show();
}
break;
case Code.write:
if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
write();
}else {
Toast.makeText(this, "can not call write", Toast.LENGTH_SHORT).show();
}
break;
}
}