Автоматическое завершение вызова на Android Oreo - PullRequest
0 голосов
/ 17 марта 2019

Я пытаюсь завершить входящий звонок с моим приложением, если предоставлены некоторые условия.Я сделал это пару лет назад с помощью ITelephony.Но сейчас я не могу использовать ITlephony для oreo и выше.Позже я обнаружил, что могу использовать TelecomManager для пирога, но все же не для oreo.Кто-нибудь знает, как завершить входящий звонок на oreo?Мой код ниже:

Использование ITelephony

            // Get the getITelephony() method
            Class<?> classTelephony = Class.forName(telephonyManager.getClass().getName());
            Method method = classTelephony.getDeclaredMethod("getITelephony");
            // Disable access check
            method.setAccessible(true);
            //ITelephony telephonyService = (ITelephony) method.invoke(telephonyManager);
            // Invoke getITelephony() to get the ITelephony interface
            Object telephonyInterface = method.invoke(telephonyManager);
            // Get the endCall method from
            Class<?> telephonyInterfaceClass = Class.forName(telephonyInterface.getClass().getName());

            Method methodEndCall = telephonyInterfaceClass.getDeclaredMethod("endCall");
            // Invoke endCall()
            methodEndCall.setAccessible(true);
            methodEndCall.invoke(telephonyInterface);

И использование TelecomManager

            telecomManager = (TelecomManager) context.getSystemService(Context.TELECOM_SERVICE);
            if (ActivityCompat.checkSelfPermission(context, Manifest.permission.ANSWER_PHONE_CALLS) != PackageManager.PERMISSION_GRANTED) {
                return;
            }
            telecomManager.endCall();

И какие разрешения я предоставил, как показано ниже:

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

В моем поиске я нашел похожие посты об этой проблеме, но ни один из них не мог мне помочь.

...