Android 10 通知颜色在深色主题更改时不会更改

Android 10 notification color doesn't change when dark theme changes

我有一些操作的通知。我使用 Notification.Builder 为动作和图标着色设置颜色。这是创建通知的完整代码。

val notification = Notification.Builder(context,
                CHANNEL_ID)
                .setContentTitle(title)
                .setContentText(mainText)
                .setSmallIcon(R.drawable.small_icon)
                .setContentIntent(pendingIntent)
                .addAction(Notification.Action.Builder(
                        Icon.createWithResource(
                                this, R.drawable.action_icon),
                        getString(R.string.action_title),
                        actionPendingIntent)
                        .build())
                .setStyle(Notification.InboxStyle()
                        .addLine(mainText)
                        .addLine(subText)
                        .addLine(secondSubText)
                        .setBigContentTitle(title)
                        .setSummaryText(summaryText))
                .setColor(getColor(R.color.notification_accent))
                .build()

颜色 R.color.notification_accentvaluesvalues-night 中都声明,并且有不同的颜色。应用程序的基本主题也从 Theme.MaterialComponents.DayNight 扩展而来。当设备中的深色主题为 enabled/disabled 时,整个应用程序会在主题之间正确切换。

当我创建通知时,它总是被正确创建,所以当深色主题打开时,使用 values-night 中的颜色,当它关闭时,使用 values 颜色。

问题是当主题改变并且通知已经可见时。我可以看到通知实际上发生了变化,因为背景从深色变为浅色,但操作的颜色没有变化。

我猜这是因为颜色不是通知主题的一部分,但我不确定如何处理,或者它是否是 Notification.Builder.

编辑: 此行为发生在模拟器上 运行 API 29. 当 运行 设备上的应用程序行为正确时,颜色会改变。我正在回答自己说要使用设备的问题。

此问题发生在模拟器上。在真实设备中,该问题不会发生,并且当深色主题更改时通知的颜色也会更改。