setRemoteInputHistory аварийно завершает работу эмулятора и устройства на уровне API 29+

Этот код отлично работает на моем устройстве Samsung S8, но дает сбой на Pixel (эмулятор) и реальном устройстве (Samsung S21). Я отправляю это уведомление как обновление существующего внутри BroadcastReceiver.

          val builder = NotificationCompat.Builder(context, CHANNEL_ID)
                    .setRemoteInputHistory(arrayOf("r","g"))

    with(NotificationManagerCompat.from(context)) {
             notify(notificationId, builder.build())}

РЕДАКТИРОВАТЬ

Наконец-то я получил ошибку

      2021-04-06 20:05:04.743 17793-17793/com.android.systemui E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.android.systemui, PID: 17793
java.lang.ClassCastException: android.os.Parcelable[] cannot be cast to android.app.RemoteInputHistoryItem[]
    at com.android.systemui.statusbar.notification.collection.NotificationEntry.isLastMessageFromReply(NotificationEntry.java:554)
    at com.android.systemui.statusbar.phone.NotificationIconAreaController.shouldShowNotificationIcon(NotificationIconAreaController.java:286)
    at com.android.systemui.statusbar.phone.NotificationIconAreaController.updateIconsForLayout(NotificationIconAreaController.java:392)
    at com.android.systemui.statusbar.phone.NotificationIconAreaController.updateStatusBarIcons(NotificationIconAreaController.java:329)
    at com.android.systemui.statusbar.phone.NotificationIconAreaController.updateNotificationIcons(NotificationIconAreaController.java:308)
    at com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout.updateIconAreaViews(NotificationStackScrollLayout.java:5838)
    at com.android.systemui.statusbar.phone.NotificationPanelViewController.updateNotificationViews(NotificationPanelViewController.java:3019)
    at com.android.systemui.statusbar.phone.StatusBarNotificationPresenter.updateNotificationViews(StatusBarNotificationPresenter.java:313)
    at com.android.systemui.statusbar.notification.NotificationEntryManager.updateNotifications(NotificationEntryManager.java:691)
    at com.android.systemui.statusbar.notification.NotificationEntryManager.updateNotificationInternal(NotificationEntryManager.java:659)
    at com.android.systemui.statusbar.notification.NotificationEntryManager.updateNotification(NotificationEntryManager.java:678)
    at com.android.systemui.statusbar.notification.NotificationEntryManager$2.onNotificationPosted(NotificationEntryManager.java:365)
    at com.android.systemui.statusbar.NotificationListener.lambda$onNotificationPosted$1(NotificationListener.java:124)
    at com.android.systemui.statusbar.NotificationListener.lambda$onNotificationPosted$1$NotificationListener(Unknown Source:0)
    at com.android.systemui.statusbar.-$$Lambda$NotificationListener$NvFmU0XrVPuc5pizHcri9I0apkw.run(Unknown Source:6)
    at android.os.Handler.handleCallback(Handler.java:938)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loop(Looper.java:223)
    at android.app.ActivityThread.main(ActivityThread.java:7656)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)

Странно то, что я запускаю один и тот же код при запуске без каких-либо проблем. Я отправляю уведомление, а затем с задержкой в ​​2 секунды обновляю его (и историю удаленного ввода). Но когда я пытаюсь сделать это внутри BroadcastReceiver, это вызывает сбой

РЕДАКТИРОВАТЬ 2

Минимальный воспроизводимый образец здесь

0 ответов

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