gpt4 book ai didi

当应用程序处于后台时,不会调用 cordova 推送插件回调

转载 作者:行者123 更新时间:2023-12-02 10:31:01 26 4
gpt4 key购买 nike

我有推送插件https://github.com/phonegap-build/PushPlugin.git配置cordova 3.5。当应用程序位于前台时,将调用通知插件回调,一切都会按预期工作。

当应用程序处于非事件状态(在后台)时,会收到通知,我可以在通知栏中看到它们,但不会调用回调函数。我的代码基于推送插件中给出的示例。下面是我的简化代码以重现该问题,

 initialize : function () {
console.info('NOTIFY Ready to register for push notification.');
var pushNotification = window.plugins.pushNotification;
// Register device with push server
pushNotification.register(gcmSuccessHandler, gcmErrorHandler, {
'senderID': GCM_SENDER_ID,
'ecb': 'onNotificationGCM'
});

}

window.onNotificationGCM = function(notification){
//the beep is invoked 3 times only when the app is in foreground
navigator.notification.beep(3);
console.log('EVENT -> RECEIVED:' + notification.event + '');

}

我已经在这个问题上伤透了一天多了。如有任何帮助,我们将不胜感激。

更新:我终于找到问题所在了。我必须清除 dalvik 缓存并重新启动手机。到目前为止,我身上发生过两次。似乎是 Android 中的一个已知问题,https://github.com/phonegap-build/PushPlugin/issues/35 .

最佳答案

我在使用 Cordova 3.5.0 和 PushPlugin 2.2.0 时遇到了类似的问题:通知在应用程序位于前台时有效,但在应用程序处于后台或未运行时无效。我通过阅读PushPlugin的源代码(文件src/com/plugin/gcm/GCMIntentService.java)找到了解决方案:通知的有效负载必须包含“message”和“msgcnt”键。

关于当应用程序处于后台时,不会调用 cordova 推送插件回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24234944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com