notification
向用户发出震动、声音提示、灯光闪烁、手机状态栏通知等提示行为,支持闹钟功能。如果是状态栏通知,当用户点击该通知,页面可以通过监听 noticeclicked 事件获取该通知相关内容。
注:当应用在前台弹出通知提示时,iOS平台的通知将在显示几秒后消失,不会在通知栏保留。
notification({params}, callback(ret, err))
params
vibrate:
- 类型:数组
- 默认值:[100, 500, 100, 500]
- 描述:(可选项)伴随节奏的震动,时间数组,单位:毫秒。iOS平台震动时间为固定值;Android平台节奏为【等待-震动-等待-震动..】,例如[100, 500, 100, 500]表现效果为:等待100毫秒-震动500毫秒-等待100毫秒-震动500毫秒
sound:
- 类型:字符串
- 默认值:default
- 描述:(可选项)提示音,默认为系统设置的提示音。Android支持传入widget协议音频文件,例如:widget://res/horse.mp3;当实现闹钟功能时,iOS只支持widget://路径协议
light:
- 类型:布尔型
- 默认值:false
- 描述:(可选项)设备提示灯是否闪烁
notify:
- 类型:JSON 对象
- 默认值:无
- 描述:(可选项)弹出通知到状态栏。弹出时是否震动或响铃,可通过设置vibrate,sound等字段配合实现。
- 内部字段:
{
title:'' //标题,Android中默认值为应用名称,支持Android和iOS 8.2以上系统
content:'' //内容,默认值为'有新消息'
extra:'' //附加信息,页面可以监听noticeclicked事件得到点击的通知的附加信息
updateCurrent: false //是否覆盖更新已有的通知,取值范围true|false。只Android有效
}
alarm:
- 类型:JSON 对象
- 默认值:无
- 描述:(可选项)设置闹铃。与notify配合使用,即如果设置了闹铃,那么对应的notify将在设定的闹铃时间触发
- 内部字段:
{
hour: //小时,数字类型,取值范围(0-23),默认值为当前系统时
minutes: //分钟,数字类型,取值范围(0-59),默认值为当前系统分
daysOfWeek: //通知循环时间,以周为单位,数组类型,取值范围[1,2,3,4,5,6,7],表示周日、周一、周二、周三、周四、周五、周六。若不传则不循环,只在当天或隔天的指定时间通知一次
time: //闹铃目标时间,数字类型,1970年至今的毫秒数,只在设定的时间执行一次,若设置了time,那么hour、minutes、daysOfWeek将被忽略
openApp: //当闹铃触发时是否打开当前应用,如果打开,则不弹出状态栏通知,bool类型,默认值为false。仅支持Android平台。
}
callback(ret, err)
如果 notification 时传入了 notify或者alarm,那么将收到 callback,返回本次状态栏通知的 id或者闹铃 id,该 id 可用于取消状态栏通知或者闹铃。
ret:
- 类型:JSON 对象
- 内部字段:
{
id:1 //弹出到状态栏通知的id或者设置的闹铃id,可用于取消通知或者闹铃
}
示例代码
//仅震动
api.notification({
vibrate:[100, 500, 200, 500, 300, 500, 400, 500]
});
//仅提示音
api.notification({
sound:'default'
});
//提示音+震动
api.notification();
//弹出状态栏通知
api.notification({
notify: {
title: '通知标题',
content: '通知内容'
}
});
//闹铃
api.notification({
notify: {
content: '闹钟'
},
//每周一、二、三、四、五的7点30分闹铃
alarm: {
hour: 7,
minutes: 30,
daysOfWeek: [2, 3, 4, 5, 6]
}
}, function(ret, err) {
var id = ret.id;
});
可用性
iOS系统,Android系统
可提供的1.0.0及更高版本