Android Как просмотреть событие календаря с указанным идентификатором события? - PullRequest
0 голосов
/ 09 мая 2011

Я хотел бы запустить приложение календаря для телефонов и просматривать одно событие календаря с помощью этого приложения.Кто-нибудь знает, что для этого нужны правильные опции Intent?

1 Ответ

6 голосов
/ 10 мая 2011

Я наконец-то нашел решение:

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

Дайте мне знать, если у кого-то есть вопросы или есть лучший способ выполнить ту же задачу.

...