首 页  -  技术分享  - cordova插件之Local Notification(本地通知)

cordova插件之Local Notification(本地通知)

分享者:     2016-03-03

本地通知的基本目的是使应用程序能够通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来的约会。本地通知大多是基于时间的,如果触发就会在通知中心显示并呈现给用户。

local notification插件可以通过schedule()一次安排一个或多个本地通知,这些通知可以立即触发或者在某个时间点触发。在安排多个通知时,注意要使用schedule([])数组来包含所有通知。

每个本地通知都需要一个数字id,没有设置默认为0,但是调用本地通知时会取代相同id中较早的那个。

下面是一些属性:

 

首先执行下面命令安装该插件:

cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git

一个通知的例子:

$scope.scheduleSingleNotification = function () {
cordova.plugins.notification.local.schedule({
  id: 1,
  title: ‘应用提醒’,
  text: ‘应用有新消息,快来查看吧’,
  at: new Date(new Date().getTime() + 5 * 60 * 1000)
  });
};

多个通知的例子:

$scope.scheduleMutipleNotification = function () {
cordova.plugins.notification.local.schedule({
  id: 1,
  title: ‘应用提醒1’,
  text: ‘应用有新消息,快来查看吧’,
  at: new Date(new Date().getTime() + 5 * 60 * 1000)
  },{
id: 2,
  title: ‘应用提醒2’,
  text: ‘应用又有新消息,快来查看吧’,
  at: new Date(new Date().getTime() + 10 * 60 * 1000)
});
};

推迟提醒:

$scope.scheduleDelayedNotification = function () {
var now             =newDate().getTime(),
    _5_sec_from_now =newDate(now +5*1000);
 
cordova.plugins.notification.local.schedule({
    text:"Delayed Notification",
    at: _5_sec_from_now,
    sound:null
});
};

重复提醒:

$scope.scheduleRepeatedlyNotification = function () {
cordova.plugins.notification.local.schedule({
    text:"Repeatedly Notification",
    firstAt: monday,
    every:"day",
    icon:"file://img/logo.png"
}, callback);
}

有两种常用的事件类型:

schedule事件将会在你调用schedule()时触发每一个本地通知,trigger事件只有到达它的触发事件才会触发该通知。

schedule Event:

cordova.plugins.notification.local.on("schedule", function(notification) {
    alert("scheduled: "+ notification.id);
});

trigger Event:

cordova.plugins.notification.local.on("trigger", function(notification) {
    alert("triggered: "+ notification.id);
});