如何使用cordova-plugin-firebase更改通知图标?

时间:2017-07-20 10:07:55

标签: cordova firebase ionic2 cordova-plugins

我使用了cordova-plugin-firebase,当标题栏中收到通知时,我的图标显示效果很好,但是当我把手机的幻灯片放下来看通知时,图标里面出现了不同的白色方块黑色圆圈。 所以任何人都知道我如何找到这个解决方案取决于插件本身,但我不能解决它。

  

/res/native/android/res/values/styles.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <!-- inherit from the holo theme -->
    <style name="AppTheme" parent="android:Theme.Light">
        <item name="android:windowDisablePreview">true</item>
    </style>
    <drawable name="notification_big">@mipmap/icon</drawable>
    <drawable name="notification_icon">@mipmap/icon</drawable>
</resources>
  

和   /res/native/android/res/values-v21/styles.xml

<?xml version="1.0" encoding="utf-8" ?>
<resources>
    <!-- inherit from the material theme -->
    <style name="AppTheme" parent="android:Theme.Material">
        <item name="android:windowDisablePreview">true</item>
    </style>
    <drawable name="notification_big">@mipmap/icon</drawable>
    <drawable name="notification_icon">@drawable/ic_silhouette</drawable>
</resources>

1 个答案:

答案 0 :(得分:2)

如果图标是白色,则分辨率,反射等有问题。请尝试遵循规范或使用此link为所有分辨率生成正确的图标。
我个人试图在上述文件夹中创建styles.xml而不起作用。看起来您应该创建一个在编译期间复制数据的钩子。如何执行此操作,您可以在here中找到。

在我的项目中,我使用&#34; 100%工作&#34;更改默认通知样式的方法:

  1. 按照规范创建图标,或使用外部工具(如上述生成器)生成图标。
  2. 在构建之前将创建的图标复制到
    [cordova_root] / platforms / android / res / drawable- [screen_resolution] / [icon_name.png] ,因此该文件夹看起来像[cordova_root] /platforms/android/res/drawable-hdpi/myicon.png(screen_resolution可以是:drawable-hdpi,drawable-mdpi,drawable-xhdpi,drawable-xxhdpi,drawable-xxxhdpi或其他)。
  3. 当您将服务器的通知发送到firebase服务器时,请指定图标名称作为先前创建的图标的名称,不带文件扩展名。

    例如,如果您的图标名称为:&#34; myicon.png&#34;,则服务器对象图标名称将为&#34; myicon&#34;没有延期。对于c#,它看起来像:

    fs.ReadByte()