关键代码
判断用户是否已经授权。ContextCompat.checkSelfPermission()方法第一个参数是 Context,第二个参数是具体的权限名。如果返回值不等于PackageManager.PERMISSION_GRANTED,则代表没有授权
ContextCompat.checkSelfPermission(MainActivity.this, Manifest.permission.CALL_PHONE)!= PackageManager.PERMISSION_GRANTED
申请权限。第一个参数是activity实例,第二个是String数组,把申请的权限名放在数组中即可。第三个参数是请求码,只要是唯一值就可以了
ActivityCompat.requestPermissions(MainActivity.this,new String[]{
Manifest.permission.CALL_PHONE},1);
回调方法。系统权限申请对话框选择选项后,无论选择什么都会回调这个方法。然后通过请求码进行操作
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
switch (requestCode){
case 1:
if(grantResults.length>