2011-05-09 33 views

回答

5

我終於找到了解決辦法:

Intent intent = new Intent(Intent.ACTION_VIEW); 
//Android 2.2+ 
intent.setData(Uri.parse("content://com.android.calendar/events/" + String.valueOf(calendarEventID))); 
//Android 2.1 and below. 
//intent.setData(Uri.parse("content://calendar/events/" + String.valueOf(calendarEventID)));  
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(intent); 

我希望,你們當中有些人覺得這有用。

我還增加了以下幾個其他日曆意圖:

/** 
* Add a calendar event. 
*/ 
private void addCalendarEvent(){ 
    Context context = getContext(); 
    Intent intent = new Intent(Intent.ACTION_EDIT); 
    intent.setType("vnd.android.cursor.item/event"); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(intent); 
} 

/** 
* Edit a calendar event. 
*/ 
private void editCalendarEvent(){ 
    Context context = getContext(); 
    long calendarEventID = ..... 
    Intent intent = new Intent(Intent.ACTION_EDIT); 
    intent.setData(Uri.parse("content://com.android.calendar/events/" + String.valueOf(calendarEventID))); 
    intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    context.startActivity(intent); 
} 

讓我知道如果任何人有任何問題或有更好的方法來完成相同的任務。

+0

生成URI的正確方法是:Uri event = ContentUris.withAppendedId(Events.CONTENT_URI,eventID); – 2012-04-08 10:35:12

+0

@CamilleSévigny,你給的代碼和它正在工作,在日曆事件中查看它顯示1970年1月1日,你能告訴可能是什麼原因 – 2012-04-25 13:19:57

+0

這非常有幫助https://github.com/roman10/roman10-android -tutorial/blob/master/CalendarOps/src/roman10/tutorial/calendarops/Main.java – user788511 2012-11-09 10:48:52

相關問題