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). Что я делаю не так?
  • Вопрос задан
  • 172 просмотра
Пригласить эксперта
Ответы на вопрос 1
TrueBers
@TrueBers
Гуглю за еду
Нет официального документированного API для этого, насколько я знаю. Всё сильно зависит от прошивки.
Нужно под каждое устройство городить свой костыль. Всего методов поднятия трубки десятка полтора, наверно.

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

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

Похожие вопросы