当前位置:  开发笔记 > 编程语言 > 正文

Cordova推送通知(PhoneGap PushPlugin)未触发ecb回调(onNotificationAPN)

如何解决《Cordova推送通知(PhoneGapPushPlugin)未触发ecb回调(onNotificationAPN)》经验,为你挑选了1个好方法。

我正在使用Cordova Push Notifications Plugin 1.3.4和我的Cordova/Phonegap应用程序.不幸的是,当收到推送通知时,我的JavaScript中的ecb回调永远不会被触发,我无法处理推送通知(即使应用程序在前台运行也是如此).

我正在使用演示中的示例代码:

pushNotification.register(tokenHandler, errorHandler, {"badge": "true", "sound": "true", "alert": "true", "ecb": "onNotificationAPN"});

注册成功,但永远不会触发以下回调:

function onNotificationAPN (event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    }
 }

Mobiletainme.. 9

问题是你定义回调函数的方式,导致Push Plugin对你的回调(即,via [webView stringByEvaluatingJavaScriptFromString)的评估失败,因为它不会意识到它.

如果您将回调函数定义为全局对象,则每次新通知到达时插件都会正确触发回调:

onNotificationAPN = function(event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    };
};

对于Android,您可以onNotificationGCM用同样的方式定义回调.



1> Mobiletainme..:

问题是你定义回调函数的方式,导致Push Plugin对你的回调(即,via [webView stringByEvaluatingJavaScriptFromString)的评估失败,因为它不会意识到它.

如果您将回调函数定义为全局对象,则每次新通知到达时插件都会正确触发回调:

onNotificationAPN = function(event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    };
};

对于Android,您可以onNotificationGCM用同样的方式定义回调.


不确定"解析时间定义"是什么意思.必须全局定义`onNotificationAPN`,因为这是上下文`stringByEvaluatingJavaScriptFromString`评估javascript in.
推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有