2017-07-20 18 views
0

我正在使用cordova-plugin-firebase,当图标在标题栏中收到通知时显示良好,但是当我将手机的滑盖放下以查看通知时,图标在黑色圆圈内出现不同的白色正方形。 因此,任何机构都知道我是如何根据插件本身找到这个解决方案的,但是我不会拒绝它。如何使用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

如果图标是白色的有什么不对的有关决议,retio等尽量依照SP或使用此link为所有分辨率生成适当的图标。
我个人试图在提到的文件夹中创建styles.xml而没有任何效果。它看起来像你应该创建一个钩子,在编译过程中复制数据。如何做到这一点,你可以在here找到。

在我的项目中我用的是“100%的工作”的方法来改变默认的通知样式:

  1. 创建以下规格的图标或使用外部工具,如上面提到的发生器产生。
  2. 副本创建的图标放到
    [cordova_root] /平台/安卓/ RES/drawable- [SCREEN_RESOLUTION]/[icon_name.png]构建之前,因此该文件夹的样子[cordova_root] /平台/安卓/ RES /绘制-hdpi/myicon.png(screen_resolution可以是:drawable-hdpi,drawable-mdpi,drawable-xhdpi,drawable-xxhdpi,drawable-xxxhdpi或其他)。
  3. 当您将服务器的通知发送到Firebase服务器时,请指定图标名称作为先前创建的图标的名称,而不包含文件扩展名。

    例如,如果您的图标的名称是:“myicon.png”,则服务器上的对象图标名称将为“myicon”,不带扩展名。对于C#,它看起来像:

    new Notification = { Body = "Hello world", Color = "red", Icon = "myicon", Sound = "default" };
+0

虽然此链接可以回答这个问题,最好是在这里有答案的主要部件,并提供链接以供参考。如果链接页面更改,则仅链接答案可能会失效。 - [来自评论](/ review/low-quality-posts/17278799) –

+0

对不起,回复链接,但原始评论包含超过2个链接,我只能用最多两个链接 –