dimka_sokol
@dimka_sokol

Как ответить на входящий звонок из кастомной activity?

С горем пополам понял как выплевывать свою activity поверх нативного окна входящего вызова:
new Handler().PostDelayed(() =>
{
    Intent callIntent = new Intent(context, typeof(CallActivity));
    callIntent.AddFlags(ActivityFlags.NewTask);
    callIntent.SetFlags(ActivityFlags.NewTask);
    callIntent.PutExtra("Number", intent.GetStringExtra(TelephonyManager.ExtraIncomingNumber));
    context.StartActivity(callIntent);
}, 1500);


Но дальше нужно предложить пользователю ответить или отклонить звонок. Вся сеть забита следующим куском кода:
Intent button = new Intent(Intent.ActionMediaButton);
button.PutExtra(Intent.ExtraKeyEvent, new KeyEvent(KeyEventActions.Down, Keycode.Headsethook));
SendOrderedBroadcast(button, "android.permission.CALL_PRIVILEGED");


Но это не работает (целевой API 22-23). Что я делаю не так?
  • Вопрос задан
  • 167 просмотров
Пригласить эксперта
Ответы на вопрос 1
TrueBers
@TrueBers
Гуглю за еду
Нет официального документированного API для этого, насколько я знаю. Всё сильно зависит от прошивки.
Нужно под каждое устройство городить свой костыль. Всего методов поднятия трубки десятка полтора, наверно.

Когда-то находил примеры на гитхабе, ищите там.
Либо декомпилируйте любой вменяемый коллер из маркета, посмотрите как они делают.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы