原文连接:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/cordova-pluginslocal-notification/git
本地通知的基本目的是使应用程序可以通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来的约会。本地通知大可能是基于时间的,若是触发就会在通知中心显示并呈现给用户。github
local notification插件能够经过schedule()一次安排一个或多个本地通知,这些通知能够当即触发或者在某个时间点触发。在安排多个通知时,注意要使用schedule([])数组来包含全部通知。数组
每一个本地通知都须要一个数字id,没有设置默认为0,可是调用本地通知时会取代相同id中较早的那个。spa
下面是一些属性:插件
首先执行下面命令安装该插件:orm
cordova plugin add https://github.com/katzer/cordova-plugin-local-notifications.git
一个通知的例子:cordova
$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) }); };
推迟提醒:ip
$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 }); };
重复提醒:get
$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); });