Próbuję wstawić nowe wydarzenie do kalendarza Google. Mój kod wygląda następująco:
@OnClick(R.id.add_event_button)
public void addEvent() {
CalendarDB calendar = (CalendarDB) mCalendarSpinner.getSelectedItem();
String id = calendar.calendarId;
ContentValues event = new ContentValues();
event.put(CalendarContract.Events.EVENT_TIMEZONE, "Europe/Berlin"); // Here choose your location time zone
event.put("calendar_id", id);
event.put("title", "barteq calendar tutorial test");
event.put("description", "This is a simple test for calendar api");
event.put("dtstart", System.currentTimeMillis());
event.put("dtend", System.currentTimeMillis() + 1800*1000);
event.put("allDay", 0);
event.put("eventStatus", 3);
event.put("hasAlarm", 1);
Uri l_eventUri;
if (Build.VERSION.SDK_INT >= 8 ) {
l_eventUri = Uri.parse("content://com.android.calendar/events");
} else {
l_eventUri = Uri.parse("content://calendar/events");
}
Uri l_uri = this.getContentResolver().insert(l_eventUri, event);
}
Mam jednak problem z identyfikatorem:
java.lang.IllegalArgumentException: New events must specify a calendar id
Sprawdziłem to - przesyłam poprawny identyfikator - na przykład xxxx@google.pl, więc dlaczego Google ma z tym problem? Jakieś pomysły ? Z góry dziękuję
Odpowiedzi:
1 dla odpowiedzi № 1Dodaj tę kolumnę określ identyfikator kalendarza
event.put(CalendarContract.Events.CALENDAR_ID,1);