【问题标题】:How to Change the Android Notification Icon/Status Bar Icon for Push-notification in #flutter?如何更改#flutter中推送通知的Android通知图标/状态栏图标?
【发布时间】:2018-03-22 09:47:59
【问题描述】:

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

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

【问题讨论】:

    标签: push-notification flutter


    【解决方案1】:

    只需在清单文件中的标记内添加元数据。

    Reference

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

    【讨论】:

    • 您还需要生成文件,以防有人想知道这是否是一些特殊的 Android 设置..
    【解决方案2】:

    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)中,添加元数据在“应用程序”标签中

    
    <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

    【讨论】:

    • 我只创建了图标文件,我只是使用了我的“@mipmap/ic_launcher”图标,但它仍然显示白色图标......为什么会这样?我会尝试创建一个新的图标文件
    • 好的,我制作了一个文本常量图像,它可以工作,我可以更改文本的颜色,但我不知道如何更改背景颜色或图像
    • 好的,现在我明白为什么它是白色的了,因为我的图标图像是圆形的,它需要在图像上显示某种透明度。解决方案有效。
    【解决方案3】:

    这样写:

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

    右下角 &lt;application.....&gt;

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

    【讨论】:

      猜你喜欢
      • 2015-07-06
      • 2021-01-20
      • 1970-01-01
      • 2014-07-15
      • 2018-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多