Как автоматически завершить исходящий звонок в Android Java?

У меня есть текст для редактирования, в который я ввожу номер телефона пользователя и звоню, и как только телефон зазвонит, я хочу завершить вызов автоматически, а не прерывать вызов. Как я могу достичь этого программно? Вот мой 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;
    }

Manifest:

<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"/>

0 ответов

Чтобы завершить звонок, выполните следующие действия:

  1. Вызовите setDisconnected(DisconnectCause), отправив LOCAL в качестве параметра, если пользователь завершил вызов, или отправьте REMOTE в качестве параметра, если другая сторона завершила вызов.
  2. Вызовите метод destroy(). Узнайте больше, пожалуйста, нажмите здесь
Другие вопросы по тегам