【问题标题】:Calendar Provider with Android API 24+ "The requested event was not found"带有 Android API 24+ 的日历提供程序“未找到请求的事件”
【发布时间】:2017-10-05 04:42:48
【问题描述】:

我正在向本地日历添加事件,这适用于 API

活动列在到 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);

【问题讨论】:

    标签: android calendar google-calendar-api android-7.0-nougat android-7.1-nougat


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2020-12-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多