2016-11-01 119 views
0

我的应用程序确实收到来自GCM的推送通知。 然后,我的iOS设备上显示的图标上显示的数字等于金额或收到的通知。Phonegap应用程序清除推送通知不起作用

我想在打开应用程序时清除此问题。 根据文档我必须使用这些代码:

push.clearAllNotifications(function() { 
    alert("1"); 
}, function() { 
    alert("2"); 
}); 

但是,毕竟这代码不工作,没有这两个警报做一展示。当然这个号码仍然显示在图标上。 任何提示或替代?

编辑: 我当前的代码:

function startPush() { 

      var push = PushNotification.init({ 
       android: { 
        senderID: "xxxx", 
        vibrate: true 
       }, 
       ios: { 
        senderID: "951044503850", 
        gcmSandbox: false, 
        alert: "true", 
        badge: true, 
        sound: 'false', 
        clearBadge: "true" 
       } 
      }); 

      push.on('registration', function(data) { 
       var regID = data.registrationId; 
       alert(regID); 
       //this works 


      }); 
      push.clearAllNotifications(function() { 
       alert("1"); 
       //does not fire 
      }, function() { 
       alert("2"); 
       // does not fire 
      }); 

}

我这样做的那部分工作确实收到registrationId。 HOwever警报(1)或警报(2)不会触发,因此这部分不起作用。 BTW奖励积分),我的手机不振动的推送通知或者

+0

你有没有初始化推变量? – jcesarmobile

+0

@jcesarmobile那么我编辑我的“问题”,现在你可以看到我做了什么。事实上,我得到一个有效的注册ID,它的工作原理,我可以发送推送通知,我想我可以说,推变量已经初始化。 – Mart

回答

1

替代解决方案

上的应用程序初始化添加Cordova Badge Plugin并设置标志0(零)

document.addEventListener('deviceready', function() { 
    cordova.plugins.notification.badge.set(0); 
}, false); 

或者无论你想隐藏图标的徽章

+0

感谢您的选择,另一个解决方法是在初始化中添加clearBadge索引。 – Mart

+0

是的,它比向应用程序添加新插件更好。如果你完成了你的要求,而不仅仅是对我的答案upvote;) –

+0

我仍然想知道为什么我原来的代码不工作,因为它是插件描述的默认给定的功能。它应该工作,但它不会... – Mart