iOS 系统自带的《日历》应用,用户可以在其中添加日程事件,并且支持开发者通过自己的 App 向《日历》中进行事件的读取和写入。《日历》应用默认创建了几个类型的日历,用户也可以根据需要创建自定义的日历。当用户新建日程事件时,需要关联到某个日历。同样开发者向《日历》添加日程事件时,也需要关联到某个日历。
iOS 系统自带的《提醒》应用,主要作用是提供事件列表,用户可以向事件列表中添加提醒事件,同《日历》类似,用户也可以自行创建新的事件列表。同样,App 开发者也可以通过接口对《提醒》应用做同样的操作。
关于日历和提醒的介绍可参考 阿里社区技术文章。
reminder 封装了对《提醒》App 操作的相关接口。主要包括对提醒事件的增删改查,以及判断本应用是否具有访问《提醒》权限。亦可通过requestAuth 接口向用混请求访问《提醒》权限。
判断是否有访问提醒事项的权限
remindersAuth(callback(ret, err)).
ret:
{
status: true, //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
details: '' //字符串类型;权限详情,取值范围如下:
//notDetermined: 用户从未选择过权限
//restricted:无法访问手机提醒,该状态用户无法改变
//denied:户拒绝该应用访问手机提醒,或是访问手机提醒服务总开关处于关闭状态
//authorized:用户允许该程序可以访问手机提醒
}
var privacy = api.require('reminder');
privacy.remindersAuth(function(ret, err) {
if (ret.status) {
api.alert({msg: JSON.stringify(ret)});
} else {
api.alert({msg: JSON.stringify(err)});
}
});
iOS 系统
可提供的 1.0.0 及更高版本
请求访问提醒权限
requestAuth(callback(ret))
ret:
{
granted: //布尔型;是否请求成功;true(有权限)||false (无权限)
}
var reminder = api.require('reminder');
reminder.requestAuth(function(ret) {
api.alert({msg:JSON.stringify(ret)})
});
iOS 系统
可提供的 1.0.0 及更高版本
添加提醒
addReminder({params}, callback(ret))
title:
notes:
location:
calendarIdentifier:
startTime:
completionDate:
ret:
{
status: //布尔类型;是否添加成功
reminderId: //字符串类型;提醒事件的ID,status 为true时有值
errorMsg: //字符串类型;错误信息,status 为false时有值
}
var reminder = api.require('reminder');
reminder.addReminder({
title: '标题',
notes: '描述',
startTime: '2017-08-01 13:00:00',
endTime: '2022-10-01 14:00:00'
}, function(ret) {
api.alert({msg:JSON.stringify(ret)})
});
iOS系统
可提供的 1.0.0 及更高版本
获取所有的提醒
completed:
{
status: //布尔类型;是否获取成功
reminders:[ //数组类型;
{
title:'',
notes:'',
startTime:'',
completionDate:'',
location:'',
calendarIdentifier:'',
reminderId:
}
]
}
var reminder = api.require('reminder');
reminder.getAllReminders({
completed: false
},function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
iOS系统
可提供的 1.0.0 及更高版本
通过分类的 ID 获取提醒
calendarIdentifier:
{
status: //布尔类型;是否获取成功
reminders:[ //数组类型;
{
title:'',
notes:'',
startTime:'',
completionDate:'',
location:'',
calendarIdentifier:'',
reminderId:
}
]
}
var reminder = api.require('reminder');
reminder.getRemindersById({
calendarIdentifier: ''
}, function(ret) {
api.alert({msg:JSON.stringify(ret)});
});
iOS系统
可提供的 1.0.0 及更高版本
删除提醒
removeReminder(callback(ret))
reminderId:
calendarIdentifier:
ret:
{
status: true // 布尔类型;是否删除成功
}
err:
{
code: //数字类型;错误码
msg: //字符串类型;错误信息
}
var reminder = api.require('reminder');
reminder.removeReminder({
title: '测试'
}, function(ret,err) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)})
} else {
api.alert({msg:JSON.stringify(err)})
}
});
iOS系统
可提供的 1.0.0 及更高版本
更新提醒
updateReminder(callback(ret))
reminderId:
calendarIdentifier:
title:
notes:
location:
startTime:
completionDate:
ret:
{
status: true // 布尔类型;是否删除成功
}
err:
{
code: //数字类型;错误码
msg: //字符串类型;错误信息
}
var reminder = api.require('reminder');
reminder.updateReminder({
reminderId: '***',
calendarIdentifier:'',
title:'修改测试'
}, function(ret,err) {
if (ret.status) {
api.alert({msg:JSON.stringify(ret)})
} else {
api.alert({msg:JSON.stringify(err)})
}
});
iOS系统
可提供的 1.0.0 及更高版本