如何在#flutter中更改推送通知的Android通知图标/状态栏图标?

时间:2017-10-10 21:04:54

标签: push-notification flutter

我想用自己的推送通知图标替换默认图标。

现在,应用程序将图标显示为白色框。

3 个答案:

答案 0 :(得分:9)

Ajay的回答是正确的,但需要进一步扩展:

  1. 创建您的mipmap通知图标。您可以使用Roman's Notification Icon Generator轻松完成此操作-单击“通知图标生成器”

  2. 在左侧面板上,单击“图像”以上传您自己的图像,或使用提供的剪贴画或文本。

  3. 完成后,单击右上角的下载按钮以下载zip文件。

  4. 在zip文件中,您的图标文件将位于与目录中的mipmap目录同名的各个目录中(例如,“ mipmap-hdpi”,“ mipmap-mdpi”等)。将图标文件移动到项目中各自的文件夹中。

  5. 在您的AndroidManifest.xml文件(位于android/app/src/main/AndroidManifest.xml中)中,将元数据添加到“ application”标记中


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.your.package">

    <application
        android:name="com.your.package.Application"
        android:label="YourAppName"
        android:icon="@mipmap/launcher_icon">

        <meta-data
          android:name="com.google.firebase.messaging.default_notification_icon"
          android:resource="@mipmap/your_icon_file_name" />
  1. 保存文件。您可能需要停止然后重新启动,或者卸载并重新安装您的应用程序,通知图标才能开始显示。

  2. 您的图标可能是白色的,因此,如果要更改颜色,可以在刚添加的图标元数据标签下面添加以下元数据标签:

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

这会将图标更改为黑色,但是您可以按照以下说明在res/values中设置自己的颜色:Android System Color Constants

有关元数据标签的信息在这里:https://firebase.google.com/docs/cloud-messaging/android/receive

答案 1 :(得分:3)

只需在清单中添加元数据。

Reference

<!-- Set custom default icon. This is used when no icon is set for incoming notification messages. -->
<meta-data
    android:name="com.google.firebase.messaging.default_notification_icon"
    android:resource="@mipmap/ic_stat_ic_notification" />

答案 2 :(得分:0)

写这个:

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

右下 <application.....>

检查这个答案:https://stackoverflow.com/a/56548433/3885013