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) но, похоже, никто не знает, как ее решить.

Еще более редко: это происходит не каждый раз, это кажется случайным поведением.

Есть мысли по этому поводу?

0 ответов

Другие вопросы по тегам