繁体   English   中英

带有Android API 24+的日历提供程序“未找到请求的事件”

[英]Calendar Provider with Android API 24+ “The requested event was not found”

我正在将事件添加到本地日历中 ,这在API <24(KitKat,Lollipop,棉花糖)中正常工作,但是Google日历出现问题,无法从本地日历中打开事件并返回“请求的事件未找到”

活动已列在Google日历中,但无法打开,编辑或删除

创建本地日历的代码:

ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Calendars.CALENDAR_DISPLAY_NAME, "My Calendar");
values.put(CalendarContract.Calendars.VISIBLE, 1);
values.put(CalendarContract.Calendars.NAME, "My Calendar");
values.put(CalendarContract.Calendars.CALENDAR_COLOR, BLACK_COLOR);

Uri updateUri = CalendarContract.Calendars.CONTENT_URI;
updateUri.buildUpon()
.appendQueryParameter(android.provider.CalendarContract.CALLER_IS_SYNCADAPTER, "false")
.build();

Uri uri = cr.insert(updateUri, values);

将事件创建到日历中的代码:

ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();

values.put(CalendarContract.Events.DTSTART, start);
values.put(CalendarContract.Events.DTEND, end);    
values.put(CalendarContract.Events.TITLE, title);
values.put(CalendarContract.Events.DESCRIPTION, description);
values.put(CalendarContract.Events.CALENDAR_ID, calID); // CalID = My Calendar Id
values.put(CalendarContract.Events.EVENT_TIMEZONE, "Australia/Sydney");

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

创建日历时,需要在ContentValues中提供一个帐户名称CalendarContract.Calendars.ACCOUNT_NAME和一个帐户类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM