2013-03-05 84 views
1

我试图直接使用此代码添加事件:直接添加事件到日历

// 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(); 

此代码语法是正确的,但不向日历添加事件。 问题是什么? 而且Eclipse说

String eventID = uri.getLastPathSegment(); 

未被使用。

回答

0

检查您是否拥有WRITE_CALENDAR权限以便能够以此方式创建事件。

此外,在您的示例中,eventID变量确实不被使用 - >您对此无能为力。

+0

对不起,我已经 <使用许可权的android:NAME = “android.permission.READ_CALENDAR”/> <使用许可权的android:NAME = “android.permission.WRITE_CALENDAR”/> – 2013-03-05 20:47:36

+0

我忘了说,我也有一个错误: 错误打开跟踪文件:没有这样的文件或目录(2) – 2013-03-05 20:51:11