3

几天前,我成功地使用推送插件向我的手机发送消息。但是现在,在pushNotification.register执行之后,我没有收到具有注册 ID 的通知(之后pushNotification.register,ecb 没有被解雇)。但是成功的处理程序被解雇了。一件奇怪的事情是,当我关闭每个网络(Wifi、移动互联网)时,也会触发成功处理程序。所以我在另一部手机(朋友的)上试了一下。然后它运作良好。

我的手机里发生了什么?前几天我搜索了这个问题,但找不到任何有用的文档。有没有人有同样的问题?

    var pushNotification;
    document.addEventListener("deviceready", function(){
        pushNotification=window.plugins.pushNotification;
        console.log('Device Ready!!');
        register();
    });
    function register() {
        console.log('registering...');
        pushNotification.register(
            successHandler,
            errorHandler,
            {
                "senderID":"1234567890", // (temporary)
                "ecb":"onNotification"
            }
        );
    }

    function onNotification(e) {
        console.log('======onNotification======');
        console.log('type of notification:'+e.event);
        switch(e.event) {
            case 'registered':
                if(e.regid.length>0) {
                    $("#status").append('<li>regid:'+e.regid+'</li>');
                    console.log('regid:'+e.regid);
                }
            break;

            case 'message':
                if(e.foreground) {
                    console.log('inline message');
                } else {
                    if(e.coldstart) {
                        console.log('coldstart message');
                    } else {
                        console.log('background message');
                    }
                }
                console.log('message:'+e.payload.message);
                console.log('msgcnt:'+e.payload.msgcnt);
            break;

            case 'error':
                $("#status").append('<li>error:'+e.msg);
            break;
        }
    }
    function successHandler(result) {
        console.log('success; result:'+result);
    }
    function errorHandler(error) {
        console.log('error; error:'+error);
    }
4

0 回答 0