Android如何查看事件ID的日历事件?

时间:2011-05-09 18:02:43

标签: android events calendar android-intent

我想启动手机库存日历应用程序,并使用该应用程序查看单个日历事件。有谁知道正确的Intent选项是做什么的?

1 个答案:

答案 0 :(得分:6)

我终于找到了解决方案:

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);
}

如果有人有任何问题或有更好的方法来完成同样的任务,请告诉我。