Добавление календаря и событий в Android 2.2

Что я хочу: я хочу добавить события календаря в Android 2.2.

Что я имею: я добавил событие, используя приведенный ниже код

Uri calendars = Uri.parse("content://com.android.calendar/events"); Cursor managedCursor = managedQuery(calendars, null, null, null, null); startManagingCursor(managedCursor); managedCursor.moveToFirst(); String ID = null; do { ID = managedCursor.getString(managedCursor.getColumnIndexOrThrow("_id")); } while (managedCursor.moveToNext()); managedCursor.close(); int NewID = Integer.parseInt(ID) + 1; ContentValues event = new ContentValues(); event.put("calendar_id", NewID); // --- Some confusion Here with the ID, // --- not sure how to use it here event.put("title", "New Event Title"); event.put("description", "Event Desc"); event.put("eventLocation", "Somewhere"); long startTime = System.currentTimeMillis() + 1000 * 60 * 60; long endTime = System.currentTimeMillis() + 1000 * 60 * 60 * 2; event.put("dtstart", startTime); event.put("dtend", endTime); event.put("allDay", 0); // 0 for false, 1 for true event.put("eventStatus", 1); event.put("visibility", 0); event.put("transparency", 0); event.put("hasAlarm", 0); // 0 for false, 1 for true Uri eventsUri = Uri.parse("content://com.android.calendar/events"); Uri insertedUri = getContentResolver().insert(eventsUri, event); 

В чем проблема:
До сих пор мне удалось добавить одно событие в указанное время, и, по-видимому, роль NewID мне подозрительна. Когда я пытаюсь добавить какое-то другое событие, я получаю возвращаемый Uri insertUri, и он показывает мне новый добавленный идентификатор в конце URI. Но я не вижу такого события на устройстве. Может быть, есть некоторые проблемы в моем понимании Календаря и событий, или различия в обоих и их идентификаторах. Пожалуйста, направляйте меня тем, что мне не хватает или что-то не так.

С Уважением,
Хавар

Большая часть кода в порядке, вам просто нужно знать немного концепций относительно календаря. На самом деле в Android существует более одного типа календарей.

Чтобы переместить все календари, используйте следующий Uri для версии 2.2:

 Uri calendars = Uri.parse("content://com.android.calendar"+ "/calendars"); 

И получите значения «id» и «name», вы получите эту идею.

 NewID's role is suspicious to me 

Ваш код ввода в порядке, вам просто нужно указать идентификатор этого календаря, в который вы хотите вставить какое-либо событие.

Я все еще верю, что даже мне нужно многому учиться, поэтому, если у вас есть что сказать или исправить, вы очень желанны. Мне помогли следующие ссылки:

Работа с Android-календарями

Доступ к событиям календаря без использования gdata api