打电话

步骤

一,添加电话权限 导依赖

implementation'com.github.dfqin:grantor:2.5'

有两种方式

一,动态获取危险权限

private void requestPremission() {

        if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) ==             PackageManager.PERMISSION_GRANTED) {

        //该权限已授予

        callPhone();

    }else {

        //该权限没有授予

        ActivityCompat.requestPermissions(this,new String[]{Manifest.permission.CALL_PHONE},100);

    }

}

@Override

public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) {

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

        if (grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {

                Toast.makeText(MainActivity.this,"获取权限成功", Toast.LENGTH_SHORT).show();

                callPhone();

        }else {

                Toast.makeText(MainActivity.this,"获取权限失败", Toast.LENGTH_SHORT).show();

    }

}

二,框架获取危险权限

//框架

private void grantor() {

PermissionsUtil.requestPermission(this,new PermissionListener() {

@Override

        public void permissionGranted(@NonNull String[] permission) {

                    callPhone();

}

@Override

        public void permissionDenied(@NonNull String[] permission) {

                    Toast.makeText(MainActivity.this,"获取权限失败", Toast.LENGTH_SHORT).show();

}

},Manifest.permission.CALL_PHONE );

}

    具体实施打电话

private void callPhone() {

                    Intent intent =new Intent(Intent.ACTION_CALL);

                    intent.setData(Uri.parse("tel:10010"));

                    startActivity(intent);

}

你可能感兴趣的:(打电话)