crManager

概述

iOS端系统《日历》

iOS 系统自带的《日历》应用,用户可以在其中添加日程事件,并且支持开发者通过自己的 App 向《日历》中进行事件的读取和写入。《日历》应用默认创建了几个类型的日历,用户也可以根据需要创建自定义的日历事件类型。当用户新建日程事件时,需要关联到某个日历事件类型。同样开发者向《日历》添加日程事件时,也需要关联到某个日历事件类型。

iOS 系统自带的《提醒》应用,主要作用是提供事件列表,用户可以向事件列表中添加提醒事件,同《日历》类似,用户也可以自行创建新的事件列表。同样,App 开发者也可以通过接口对《提醒》应用做同样的操作。

关于日历的介绍可参考 阿里社区技术文章

插件简述

crManager 封装了对《日历》和《提醒》App 事件类型操作的相关接口。主要包括对事件类型的查找、修改、添加、删除等。

插件接口

authorizationStatus

判断是否有访问日历\提醒的权限

authorizationStatus({params},callback(ret))

params

entityType:

  • 类型:字符串
  • 描述:(可选项)指定操作对象是日历还是提醒
  • 默认:calendar
  • 取值范围:
    • calendar:日历
    • reminder:提醒

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,    //布尔型;是否有访问该功能权限;true(有权限)||false (无权限)
    details: ''      //字符串类型;权限详情,取值范围如下:
                     //notDetermined: 用户从未选择过权限
                     //restricted:无法访问手机提醒,该状态用户无法改变
                     //denied:户拒绝该应用访问手机提醒,或是访问手机提醒服务总开关处于关闭状态
                     //authorized:用户允许该程序可以访问手机提醒
}

示例代码

var crManager = api.require('crManager');
crManager.authorizationStatus({
   entityType:'reminder'
},function(ret, err) {
    if (ret.status) {
        api.alert({
            msg: JSON.stringify(ret)
        })
    } else {
        api.alert({
            msg: JSON.stringify(err)
        })
    }
});

可用性

iOS 系统

可提供的 1.0.0 及更高版本

requestAuth

请求访问日历\提醒权限

requestAuth({params},callback(ret))

params

entityType:

  • 类型:字符串
  • 描述:(可选项)指定操作对象是日历还是提醒
  • 默认:calendar
  • 取值范围:
    • calendar:日历
    • reminder:提醒

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    granted: true,    //布尔型;是否授权;true(有权限)||false (无权限) 
}

示例代码

var crManager = api.require('crManager');
crManager.requestAuth({
    entityType:'reminder'
},function(ret, err) {
    if (ret.granted) {
        api.alert({msg:'已授权'});
    } else {
        api.alert({msg:'未授权'});
    }
});

可用性

iOS 系统

可提供的 1.0.0 及更高版本

getCalendar

获取日历\提醒App内所有行程分类

getCalendar({params},callback(ret))

params

entityType:

  • 类型:字符串
  • 描述:(可选项)指定操作对象是日历还是提醒
  • 默认:calendar
  • 取值范围:
    • calendar:日历
    • reminder:提醒

callback(ret)

  • 类型:JSON 对象
  • 内部字段:
{
    calendars:[{	       //数组类型;
        identifier:'',   //字符串类型;ID
        title:''         //字符串类型;标题
    },...]
}

示例代码

var crManager = api.require('crManager');
crManager.getCalendarr({
    entityType:'reminder'
},function(ret) {
    if (ret) {
        api.alert({msg:JSON.stringify(ret)});
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

addCalendar

添加日历、提醒行程分类

addCalendar({params}, callback(ret))

params

entityType:

  • 类型:字符串
  • 描述:(可选项)指定操作对象是日历还是提醒
  • 默认:calendar
  • 取值范围:
    • calendar:日历
    • reminder:提醒

title:

  • 类型:字符串
  • 描述:新的分类的标题

color:

  • 类型:字符串
  • 描述:分类的颜色,支持rgb、rgba、#

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否添加成功
    identifier:            //字符类型;事件类型ID
    errorMsg:              //字符串类型;错误信息
}

示例代码

var crManager = api.require('crManager');
crManager.addCalendar({
    title: '标题',
    color: '#ff0000'
}, function(ret) {
    if (ret) {
        api.alert({msg:JSON.stringify(ret)});
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

removeCalendar

移除日历、提醒行程分类

removeCalendar({params}, callback(ret))

params

identifier:

  • 类型:字符串
  • 描述:行程分类的 ID

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否添加成功 
    errorMsg:              //字符串类型;错误信息
}

示例代码

var crManager = api.require('crManager');
crManager.removeCalendar({
    identifier: ''
}, function(ret) {
    if (ret) {
        api.alert({msg:JSON.stringify(ret)});
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

updateCalendar

修改指定的日历、提醒行程分类

updateCalendar({params}, callback(ret))

params

identifier:

  • 类型:字符串
  • 描述:行程分类的 ID

title:

  • 类型:字符串
  • 描述:新的分类的标题

color:

  • 类型:字符串
  • 描述:分类的颜色,支持rgb、rgba、#

callback(ret)

ret:

  • 类型:JSON 对象
  • 内部字段:
{
    status: true,          //布尔类型;是否添加成功
    identifier:            //字符类型;事件类型ID
    errorMsg:              //字符串类型;错误信息
}

示例代码

var crManager = api.require('crManager');
crManager.updateCalendar({
    identifier:'',
    title: '标题',
    color: '#ff0000'
}, function(ret) {
    if (ret) {
        api.alert({msg:JSON.stringify(ret)});
    }
});

可用性

iOS系统

可提供的1.0.0及更高版本

是否仍需要帮助? 请保持联络!
最后更新于 2024/10/10