首页 > 解决方案 > AndroidManifest.xml 中夜间模式的 Firebase 通知图标颜色

问题描述

我有AndriodManifest.xml以下价值观:

<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"    
    android:resource="@drawable/ic_stat_notification" />
<meta-data
    android:name="com.google.firebase.messaging.default_notification_color"
    android:resource="@color/defaultNotificationColor"/>

然后我有colors.xml2 个文件夹 -values/colors.xmlvalues-night/colors.xml. 我defaultNotificationColorvalues-night_

<resources>
    <color name="defaultNotificationColor">#ffffff</color>
</resources>

但是这个设置被忽略了,通知的颜色是values/colors.xml.

从代码访问时,该值已正确设置:

resources.getString(R.color.defaultNotificationColor) // this is OK

甚至可以为清单中的图标着色吗?

SDK 设置:

compileSdkVersion = 29
targetSdkVersion = 29
minSdkVersion = 19

标签: androidfirebasenotifications

解决方案


我认为这是自动暗模式在 Android 10 及更高版本上的工作方式

values-night/colors.xml仅当您的应用程序使用暗模式时才会使用下面的颜色字符串(分别检查使用AppCompatDelegate.getDefaultNightModeisMODE_NIGHT_NOMODE_NIGHT_YES用于亮模式和暗模式)。

如果它不在暗模式下,它将继续使用values/colors.xml您的情况所发生的颜色字符串

您还可以在此处检查您是否支持 Android 10 及更高版本上的默认夜间主题


推荐阅读