android日历的点击事件,在Android日历中添加事件

private void setEvent(){

long startMilis = 0;

int mCalId = 1;

long endMilis = 0;

Calendar beginTime = Calendar.getInstance();

beginTime.set(2013, 1, 29, 9, 10);

startMilis = beginTime.getTimeInMillis();

Calendar endTime = Calendar.getInstance();

endTime.set(2013, 1, 30, 10,10);

endMilis = endTime.getTimeInMillis();

ContentResolver cr = getContentResolver();

ContentValues values = new ContentValues();

values.put(Events.CALENDAR_ID, mCalId);

values.put(Events.DTSTART, startMilis);

values.put(Events.DTEND, endMilis);

values.put(Events.TITLE,"Special Event");

values.put(Events.DESCRIPTION, "Group Activity");

values.put(Events.EVENT_TIMEZONE, "America/Los_Angeles");

Uri uri = cr.insert(Events.CONTENT_URI, values);

Toast.makeText(this, "Event Added", Toast.LENGTH_LONG).show();

}

这是我的代码片段,我想在Android日历中添加事件.代码工作正常.

但是在设备上测试时,指定的事件实际上并没有被添加,也没有出现在calendar.Code完全没有错误,我提供了必要的权限.

有人可以告诉我我在哪里做错了.

解决方法:

如果没有错误,但事件未出现在日历中,

我怀疑罪魁祸首是mCalId = 1.

设备可以有多个日历.不能保证id == 1的那个是主要的那个(即使你使用了主要的那个,用户也可能在多个不同的日历中有事件 – 例如个人和工作).

所以,这取决于你想要做什么.你应该:

>使用主日历(具有IS_PRIMARY的日历,但请参见上面的警告),或

>让用户首先选择一个日历(仅当查询Calendars table时找到多个日历),然后再使用该calendar_id.

标签:android,events,android-syncadapter,android-calendar

来源: https://codeday.me/bug/20190629/1329205.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值