SetDataResult(null) для исходящего вызова не работает в Android 7.1
Я застрял, пытаясь завершить исходящий вызов в Android 7.1 Тот же код работает с Android 4,5,6 и 8, но он оставляет экран вызова видимым (но не вызывает! Странно...).
Код следующий:
/**
* Broadcast receiver to detect the outgoing calls.
*/
public class OutgoingReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String number = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Intent dialogIntent = new Intent(ctx, ConfirmCallDialog.class);
dialogIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
dialogIntent.putExtra("PHONE_NUMBER",number);
ctx.startActivity(dialogIntent);
setResultData(null); //terminates call
abortBroadcast();
}
}
Итак, широковещательный приемник получает вызов и начинает действие, но собственный экран в режиме разговора продолжает зависать, пока не будет прерван вручную:'(
Другие пользователи имеют те же проблемы ( андроид нуга BroadcastReceiver NEW_OUTGOING_CALL и https://productforums.google.com/forum/#!topic/nexus/rS1tih0Ukcw;context-place=topicsearchin/nexus/authorid$ 3AAPn2wQf9cxHuk7zcYnhid-bCLqu6V1AANTOWkTS7zg-wQu2M28AiSEzT91aRjbLXrSJmC12uZ6Ho% 7Csort: date% 7Cspell: false) но, похоже, никто не знает, как ее решить.
Еще более редко: это происходит не каждый раз, это кажется случайным поведением.
Есть мысли по этому поводу?