問題は、URI の一部としての暦機関です。API レベル 14 より前では標準化されていません。レベル 8 以上をターゲットにする場合com.android.calendar
、Google のコードでは推奨されていますが、電話の製造元は別の権限を使用している可能性があります。API 8 より前では、権限はcalendar
(前の回答で使用されているように) だけです。
また、ユーザーのカレンダーへの書き込み権限を付与することも忘れないでください。
イベントを削除するときは、その拡張プロパティ、リマインダー、アラートも忘れずに削除してください。それらのパスは次のとおりです。
private static final String calendarPath = "calendars";
private static final String eventsPath = "events";
private static final String remindersPath = "reminders";
private static final String calAlertsPath = "calendar_alerts";
private static final String eventsExtPropPath = "extendedproperties";
API レベル 14 ではこれが標準化されており、次の URL から URI を取得できますCalendarContract
。
CalendarContract.Calendars.CONTENT_URI;
CalendarContract.Events.CONTENT_URI;
CalendarContract.Reminders.CONTENT_URI;
CalendarContract.CalendarAlerts.CONTENT_URI;
CalendarContract.ExtendedProperties.CONTENT_URI;