该问题很可能是由于权限不足造成的,需要在AndroidManifest.xml文件中添加Call permission。
具体实现方法:
1.在AndroidManifest.xml文件中添加以下权限:
2.在代码中使用调用电话的Intent,并加上需要拨打的号码:
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse("tel:" + "需要拨打的号码")); startActivity(intent);
3.在代码中添加权限请求的方法:
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CALL_PHONE}, MY_PERMISSIONS_REQUEST_CALL_PHONE); } else { //进行电话拨打操作 }
4.在Activity中加入权限请求结果处理方法:
@Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { if (requestCode == MY_PERMISSIONS_REQUEST_CALL_PHONE) { if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { //进行电话拨打操作 } else { Toast.makeText(this, "拨打电话需要电话权限,请在权限设置中开启", Toast.LENGTH_SHORT).show(); } } }