我正在使用 Cordova Push Notifications Plugin 1.3.4和我的Cordova / Phonegap应用程序.不幸的是,当收到推送通知时,我的JavaScript中的ecb回调从未被触发,我无法处理推送通知(即使应用程序在前台运行也
我正在使用演示中的example code:
pushNotification.register(tokenHandler, errorHandler, {"badge": "true", "sound": "true", "alert": "true", "ecb": "onNotificationAPN"});
注册成功,但永远不会触发以下回调:
function onNotificationAPN (event) { if (event.alert) { navigator.notification.alert(event.alert); } }问题是您定义回调函数的方式,导致Push Plugin对您的回调的评估(即,通过[webView stringByEvaluatingJavaScriptFromString)失败,因为它不会意识到它.
如果您将回调函数定义为全局对象,则每次收到新通知时插件都会正确触发回调:
onNotificationAPN = function(event) { if (event.alert) { navigator.notification.alert(event.alert); }; };
对于Android,您可以用同样的方式定义onNotificationGCM回调.