【Android】EventReminder使用教程(日历事件导出封装库)
【Android】EventReminder使用教程(日历事件导出封装库)
为啥要写这个库呢?
尝试自己写一个库调用,学习一下这个流程,为以后做准备
日历库在网上的资料太少了,而这个功能却又很实用
自己做的项目都会涉及到事件导出功能,不想重复写代码
这个库目前可以支持日历事件的直接导出、删除,ics文件的生成
ics生成文件中支持重复规则
目前该库还在完善中🔨
欢迎提供建议❤
2|0使用方法
2|1引入
在项目中引用即可
implementation 'com.paul.eventreminder:eventreminder:0.0.3'
2|2使用教程
CalendarManager
不是特别方便的初始化方法:
你需要提供Activity(用来获取权限)以及日历账户配置名称
首先声明一个Manager:
CalendarManager calendarManager=new CalendarManager(this,"测试");
会自动请求日历写入权限,如果拒绝这一块逻辑我没有处理,你可以在自己的代码中去实现该逻辑。
添加一个事件的时候你需要创建一个CalendarEvent 对象,或者您也可以选择继承自这个类
属性如下:
//总结 String summary; //内容 String content; //地点 String loc; //周次 List weekList; //周几 int dayOfWeek; //开始时间 String startTime; //结束时间 String endTime;
这里的weeklist至关重要,因为通过该集合来控制事件的重复
考虑到部分存在[1,2,3,4,8,10]这种不规则的形式,因此采用逐一导入的方法。
开始时间和结束时间的格式为 :“8:00”
创建好你的事件后调用addCalendarEvent方法即可,这里需要传入一个当前周次来告诉我当前所处时间位置。这个周次一定是在你提供的weekList中的。
public void addCalendarEvent(CalendarEvent mySubject, int curWeek,OnExportProgressListener listener)
当然你也可以选择不传curWeek这个参数,会自动默认添加从1月1号到当前时间过了几周
在添加事件事前,你也可以为其设置提醒
calendarManager.setAlarm(true);//开启提醒 calendarManager.setAlarmTime(15);//15分钟
删除事件也很简单,直接调用delete方法即可。
public void deleteCalendarEvent(Context context,OnExportProgressListener listener)
值得一提的是,删除判断的是事件内容末尾的@+ACCOUNT_NAME,所以请保持该名称在创建和删除时候要相同。
ICSManager
初始化:
ICSManager icsManager=new ICSManager(Context context,String userName);
同Calendar一样,你需要创建对应的CalendarEvent并传入
icsManager.OutPutIcsFile(String filename,boolean useRule,List calendarEvents,int curWeek,OutPutListener listener)
这里有一个参数为useRule,为bool类型
true代表开启重复规则,false代表关闭
开启重复规则后,根据你提供的weeklist来进行判断
形如 [1,2,3,4,5,6]或者[2,4,6,8,10]或者[1,3,5,7,9]都可以支持规则导出 但如果是这种[1,2,3,4,6,8]不规则的,会自动按照重复逐一导出
开启提醒的方式:
icsManager.setAlarm_seconds(15); icsManager.setFalg_alarm(true);
在回调函数中,onSuccess方法会传回来一个生成文件路径,由于该文件是保存在包名下的私有目录,因此不需要任何读写权限。
你也可以直接调用File来处理他。
项目github地址:https://github.com/paul623/EventReminder
具体实例请看项目内的代码。
EOF
本文作者:巴塞罗那的余晖
本文链接:https://www.cnblogs.com/robotpaul/p/12726609.html

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
如何使用dig命令挖掘域名解析信息
命令行工具 dig 是用于解析域名和故障排查的一个利器。 从主要功能上来说,dig 和 nslookup 之间差异不大,但 dig 更像一个加强版的 nslookup,可以查询到一些由域名服务器管理的信息,这在排查某些问题的时候非常有用。总的来说,dig 是一个既简单易用又功能强大的命令行工具。(LCTT 译注:dig 和 nslookup 行为的主要区别来自于 dig 使用是是操作系统本身的解析库,而 nslookup 使用的是该程序自带的解析库,这有时候会带来一些行为差异。此外,从表现形式上看,dig 返回是结果是以 BIND 配置信息的格式返回的,也带有更多的技术细节。) dig 最基本的功能就是查询域名信息,因此它的名称实际上是“域名信息查询工具Domain Information Groper”的缩写。dig 向用户返回的内容可以非常详尽,也可以非常简洁,展现内容的多少完全由用户在查询时使用的选项来决定。 我只需要查询 IP 地址如果只需要查询某个域名指向的 IP 地址,可以使用 +short 选项: $ dig facebook.com +short31.13.66.35在...
- 下一篇
工业互联网助力企业复工复产,与时间赛跑
简介: 疫情期间,制造企业面临巨大压力,接下来几周的复工复产速度决定的是企业生与死的问题。阿里云工业互联网平台联合钉钉与合作伙伴,共同推出制造业复工复产轻量化的SaaS解决方案。方案结合云计算、物联网、大数据、移动技术,围绕人、机、料、法、环,提供8大管理模块,助力制造企业“争分夺秒”复工复产。 疫情期间,制造企业面临巨大压力,接下来几周的复工复产速度决定的是企业生与死的问题。阿里云工业互联网平台联合钉钉与合作伙伴,共同推出制造业复工复产轻量化的SaaS解决方案。方案结合云计算、物联网、大数据、移动技术,围绕人、机、料、法、环,提供8大管理模块,助力制造企业“争分夺秒”复工复产。 宁波鸿达电机模具有限公司是一家成立30多年的民营企业,专业开发、生产电机铁芯定转子片机模具,占国内商品电机模具70%的市场份额,是中国模具行业的骨干企业。 做为一家年产值5000万,员工规模200人的中小型制造企业,鸿达一样没能逃过此波疫情的冲击。打疫情爆发以来,公司在岗员工最低仅有70名,产能一度跌到平时的35%。早复工复产一天,就意味着能给公司多挽回一些损失。 该公司生产负责人表示,“公司当前复产复工最大...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Hadoop3单机部署,实现最简伪集群
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Windows10,CentOS7,CentOS8安装Nodejs环境
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境