android - 为什么我的 Firebase 通知没有使用正确的图标?
问题描述
我一直在尝试在我的 firebase 推送通知中添加一个小图标。我能够在应用程序中创建一个通知(仅用于测试),该图标工作正常,但由于某种原因,firebase 在创建通知时不会使用该图标。它的左上角有一个空白的灰色圆圈。
我的图标如下:https ://i.imgur.com/80UAoJc.png
我的 firebase 通知如下所示:https ://i.imgur.com/i56cecv.png?1
(注意左上角的空白灰色圆圈)
我的清单文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.chickentendersubsonsale">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:networkSecurityConfig="@xml/network_security_config"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_name" />
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
解决方案
在应用程序组件内,元数据元素设置了默认的通知图标和颜色。只要传入的消息没有明确设置图标或颜色,Android 就会使用这些值。
您已<meta-data>
在组件中添加了该元素<activity>
。您需要将其直接移动到<application>
关卡内:
<application
android:networkSecurityConfig="@xml/network_security_config"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_stat_name" />
</application>
推荐阅读
- python - Django 如何在不刷新或重新加载页面的情况下插入数据
- java - 在单选按钮可绘制的左侧添加填充
- python - 如何使用列表理解创建三角形列表?
- multithreading - 仅扫描新文件并下载而不是将其上传到其他地方的程序上的多线程
- javascript - 我正在尝试从数组中更改每个项目的“值”,但每次发生此错误时“无法设置未定义的属性'innerHTML'”
- java - 是否有一种标准方法来验证数组中多个项目之间的约束?
- powershell - 在“域控制器”上找不到对象“用户”
- arrays - Excel 中的 CountIF 与标准的可变范围
- django - Django通过谷歌地图的位置实现搜索
- angular - else 条件没有被测试覆盖覆盖