Из моего приложения я запускаю календарь с намерением:
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra("allDay", true);
intent.putExtra("rrule", "FREQ=YEARLY");
intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000);
intent.putExtra("title", "Some title");
startActivity(intent);
Я не могу понять, как вернуть идентификатор события, если пользователь продолжит и сохранит этот предварительный заполненная запись календаря. Я также хочу знать, отменил ли пользователь приглашение календаря и не сохранил ли это новое предварительно заполненное событие.
Есть ли что-нибудь важное, возвращенное в onActivityResult(...), которое я мог бы использовать в качестве ссылки к событию календаря? Мне это нужно, чтобы потом я мог найти/открыть событие календаря для просмотра/редактирования.
[Обновление:] Да, попробовал onActivityResult(...), и намерение возвращается, как только календарь открывается перед любым взаимодействием с пользователем, так что это бесполезно.
Я хотел бы сделать это, передав приложение календаря с помощью намерения (также чтобы позволить пользователю выбирать из различных календарей, доступных на устройстве) и избежать повторного создания UE календаря из моего приложения. Также я хотел бы поддерживать Android 2.2+ как минимум.