cordova实现消息推送(本地通知)

举报
仙士可 发表于 2023/06/14 16:45:13 2023/06/14
【摘要】 本地通知的基本目的是使应用程序能够通知用户,它为他们提供了一些信息例如,当应用程序没有在前台运行时,通知用户一个消息或即将到来的约会。本地通知大多是基于时间的,如果触发就会在通知中心显示并呈现给用户。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

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。