Ionic 2 Push Plugin:白色方块,而应用程序在后台?

时间:2017-04-03 06:34:16

标签: android push-notification ionic2 ionic-native

我正在使用Native Push Plugin来开发我正在开发的Android应用程序。我已为我的通知配置了图标和图标颜色,如下所示:

let push = Push.init({
  android: {
    icon: "ic_notif",
    iconColor: "#f94915",
    forceShow: true, ...

如果我通过Firebase控制台发送通知(目标=用户细分 - >应用程序 - >我的应用程序),并且我在前景中(应用程序可见),我的通知图标在通知区域中显示为正确(通知抽屉中的图标颜色)。但是,如果我的应用程序位于后台(或根本没有启动)并且我发送了一条消息,那么我会得到一个白色方块(以及通知中的图标颜色)抽屉是默认的灰色)。

enter image description here

通过查看源代码,在GCMIntentService.java中,我发现onMessageReceived方法处理传入消息。当我在前台时,会触发以下条件:

else if (forceShow && PushPlugin.isInForeground()) {
            Log.d(LOG_TAG, "foreground force");
            extras.putBoolean(FOREGROUND, true);
            extras.putBoolean(COLDSTART, false);

            showNotificationIfPossible(applicationContext, extras);
        }

方法 showNotificationIfPossible 负责创建通知(图标,图标颜色,振动,声音等)。这里的问题是,当应用程序处于后台时,似乎没有执行代码(我仍然得到了消息),特别是下面的代码,以及我认为的那些&#39这是问题所在:

// if we are not in the foreground always send notification if the data has at least a message or title
        else {
            Log.d(LOG_TAG, "background"); //this is not being logged at all
        ...

有没有人知道这里发生了什么?我想我需要更彻底地检查一下源代码才能搞清楚。

0 个答案:

没有答案