直接将事件添加到日历

时间:2013-03-05 20:18:39

标签: java android calendar

我正在尝试使用此代码直接添加事件:

// Construct event details
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2013, 3, 14, 7, 30);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2013, 3, 14, 8, 45);
endMillis = endTime.getTimeInMillis();


// Insert Event
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Events.DTSTART, startMillis);
values.put(CalendarContract.Events.DTEND, endMillis);
values.put(CalendarContract.Events.TITLE, "Walk The Dog");
values.put(CalendarContract.Events.DESCRIPTION, "My dog is bored, so we're going on a really long walk!");
values.put(CalendarContract.Events.CALENDAR_ID, 3);
values.put("eventTimezone", "Europe/London");
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);
// Retrieve ID for new event
String eventID = uri.getLastPathSegment();

此代码在语法上是正确的,但不会向Calendar添加事件。 问题是什么? Eclipse说那个

String eventID = uri.getLastPathSegment();

未使用。

1 个答案:

答案 0 :(得分:0)

检查您是否拥有WRITE_CALENDAR权限,以便能够以这种方式创建活动。

此外,在您的示例中,确实未使用eventID变量 - >你什么都不做。