Как автоматически завершить исходящий звонок в Android Java? - PullRequest
1 голос
/ 04 мая 2019

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

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

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