在清单文件中申请权限
<uses-permission android:name="android.permission.CALL_PHONE"/>
检查并申请权限
使用 ContextCompat.checkSelfPermission 检查权限,当 ContextCompat.checkSelfPermission 返回值与 PackageManager.PERMISSION_GRANTED 不等时,申请权限。
if (ContextCompat.checkSelfPermission(PermissionActivity.this, Manifest.permission.CALL_PHONE)
!= PackageManager.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(PermissionActivity.this, new String[]{Manifest.permission
.CALL_PHONE}, 1);
} else {
call();
}
回调处理
重写 onRequestPermissionsResult 方法,查看权限是否申请成功,如果未成功,提示用户。
@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[]
grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
switch (requestCode) {
case 1:
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
call();
} else {
Toast.makeText(PermissionActivity.this, "权限被拒绝", Toast.LENGTH_SHORT).show();
}
break;
}
}
网友评论