$rootScope.$on('$cordovaLocalNotification:trigger', function(event, notification, state) {
//code
});
我已尝试过上面的代码,但它仅适用于应用程序已在通知时打开的情况。我想计算在未打开应用程序时触发的所有通知。 有什么办法吗?
答案 0 :(得分:0)
无法运行应用代码以使计数器保持最新状态存储在localStorage或Sqlite-DB中(例如)。
这是增加计数器以满足您的请求的唯一方法:
我想计算在应用未打开时触发的所有通知
你必须使用:
$rootScope.$on('$cordovaLocalNotification:click', function(event, notification, state) {
// increase counter in your localStorage or Sqlite-DB here
});
因为这个doc状态:
如果应用程序未运行,也会在deviceready之后调用click事件。
点击通知时,无论您的应用是否开启,都会始终调用点击事件。
如果您只想计算点击的通知
那么你可以这样做:
$ionicPlatform.ready(function() {
// ....
$rootScope.$on('$cordovaLocalNotification:click', function(event, notification, state) {
if(state === "background"){
console.log("increase counter");
}
});
// or if the first does not fire like with me, then use this instead:
cordova.plugins.notification.local.on('click', function (notification, state) {
if(state === "background"){
console.log("increase counter");
}
});
// ....
});
希望这也有帮助。
答案 1 :(得分:0)
我已经通过这种方式找到了解决方案,我在本地存储空间中发布了这些通知,在设备就绪时我将当前时间与预定时间进行比较,并计算所有已触发的通知和那不是。