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

标签 push-notification flutter

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

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

最佳答案

Ajay 的回答是正确的,但要扩展一下:

注意:开始之前,请确保您的图标/图像具有透明背景。如果您的图像背景有颜色,该解决方案似乎不起作用。

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

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

  3. 完成后,单击右上角的下载按钮下载 zip 文件。替代 Roman 的通知图标生成器,试试 appicon.co

  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

关于push-notification - 如何在#flutter 中更改推送通知的 Android 通知图标/状态栏图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46676014/

相关文章:

ios - 在一个目标 (GCM) 中有两个 GoogleService-Info.plist (或更多)

ios - XMPPFramework - pubsub + 推送通知?

安卓 : Push data with notification

Flutter:带有 TextField/TextFormField 的 Bottom Sheet

android - 通用 Android 通知处理程序

ios - didRegisterForRemoteNotificationsWithDeviceToken 未执行 - 推送通知

flutter - 使用 Cubit(BLoC 库)观察流?

dart - Flutter中使用ClipRRect()的一个问题

android - “未找到 Android 属性。”构建 Flutter aar 时出错

android - 无法检查从Cloud Firestore数据库检索的文档是否具有数据