2016-11-01 116 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