С горем пополам понял как выплевывать свою 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). Что я делаю не так?