cordova实现消息推送(本地通知)
【摘要】 本地通知的基本目的是使应用程序能够通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来的约会。本地通知大多是基于时间的,如果触发就会在通知中心显示并呈现给用户。local notification插件可以通过schedule()一次安排一个或多个本地通知,这些通知可以立即触发或者在某个时间点触发。在安排多个通知时,注意要使用schedule([])数组...
本地通知的基本目的是使应用程序能够通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来的约会。本地通知大多是基于时间的,如果触发就会在通知中心显示并呈现给用户。
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);
});
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)