如何在Android Java中自动结束拨出电话?

时间:2019-05-04 14:32:07

标签: android broadcastreceiver call phone-number outgoing-call

我有一个编辑文本,可在其中输入用户的电话号码并拨打电话,电话铃响后,我想自动结束通话,而不是用户切断通话。如何以编程方式实现这一目标? 这是我的MainActivityCode:

    phnum = edNumber.getText().toString();
    Intent callIntent = new Intent(Intent.ACTION_CALL);
    callIntent.setData(Uri.parse("tel:" + phnum));


    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        //    ActivityCompat#requestPermissions
        // here to request the missing permissions, and then overriding
        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
        //                                          int[] grantResults)
        // to handle the case where the user grants the permission. See the documentation
        // for ActivityCompat#requestPermissions for more details.
        return;
    }
    startActivity(callIntent);
    if (ActivityCompat.checkSelfPermission(this, Manifest.permission.CALL_PHONE) != PackageManager.PERMISSION_GRANTED) {
        // TODO: Consider calling
        //    ActivityCompat#requestPermissions
        // here to request the missing permissions, and then overriding
        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
        //                                          int[] grantResults)
        // to handle the case where the user grants the permission. See the documentation
        // for ActivityCompat#requestPermissions for more details.
        return;
    }

清单:

<uses-permission android:name="android.permission.CALL_PHONE"></uses-permission>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/>

1 个答案:

答案 0 :(得分:0)

要结束通话,请按照以下步骤操作:

  1. 如果用户终止了呼叫,则呼叫setDisconnected(DisconnectCause)发送LOCAL作为参数,如果另一方终止了呼叫,则发送REMOTE作为参数。
  2. 调用destroy()方法。 了解更多click here