几天前,我成功地使用推送插件向我的手机发送消息。但是现在,在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);
}