Как программно завершить GSM звонок на Android 10 - PullRequest
0 голосов
/ 18 июня 2020

Мы разрабатываем приложение Android, которое позволяет завершить вызов GSM. Мы использовали это решение в течение многих лет: программно завершить входящий вызов

На Android 10 это решение, к сожалению, не работает. Я не могу найти другого решения, которое действительно работает на Android 10. Есть предложения?

1 Ответ

0 голосов
/ 26 июня 2020

Можно остановить вызов GSM на Android 10. Следующий код находится в Xamarin Android API уровня 27 с использованием отражения.

Первый запрос на разрешение:

// Check permission AnswerPhoneCalls
if (ContextCompat.CheckSelfPermission(context, Android.Manifest.Permission.AnswerPhoneCalls) != (int)Permission.Granted)
        {
            activity?.RunOnUiThread(() =>
                ActivityCompat.RequestPermissions(activity, new string[1] { Android.Manifest.Permission.AnswerPhoneCalls }, 0));
        }

Затем остановите вызов GSM:

TelecomManager telecomManager = (TelecomManager)activity.GetSystemService(Context.TelecomService);
            var endcall = telecomManager.Class.GetDeclaredMethod("endCall");
            endcall.Accessible = true;
            endcall.Invoke(telecomManager);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...