Передача даты в приложение календаря при запуске приложения - PullRequest
0 голосов
/ 19 февраля 2011

Я делаю проект, в котором я хочу вызвать календарь Android, а также установить будильник. Пользователь вводит дату и время в самом приложении. Можно ли как-то передать эту дату и время приложению календаря при его открытии?

1 Ответ

0 голосов
/ 19 февраля 2011

Чтобы добавить запись в определенный календарь, нам нужно настроить запись календаря для вставки с использованием ContentValues ​​следующим образом:

ContentValues event = new ContentValues();

Каждое событие должно быть привязано к определенному календарю, поэтому первоето, что вы хотите установить, это идентификатор Календаря, в который нужно вставить это событие:

event.put("calendar_id", calId);

Затем мы устанавливаем некоторую основную информацию о событии, включая строковые поля, такие как заголовок события., описание и местоположение.

event.put("title", "Event Title");
event.put("description", "Event Desc");
event.put("eventLocation", "Event Location");

Существует несколько различных вариантов настройки времени и даты события.

Мы можем установить информацию о начале и конце события следующим образом:

long startTime = START_TIME_MS;
long endTime = END_TIME_MS;
event.put("dtstart", startTime);
event.put("dtend", endTime);

Если мы добавляем день рождения или праздник, мы установили бы запись на весь день:

event.put("allDay", 1);   // 0 for false, 1 for true

Этой информации достаточно для большинства записей.Однако имеется ряд других полезных атрибутов записей календаря.

Например, вы можете установить статус события на предварительное (0), подтвержденное (1) или отмененное (2):

event.put("eventStatus", 1);

Вы можете контролировать, кто может видеть это событие, устанавливая его видимость по умолчанию (0), конфиденциально (1), приватно (2) или общедоступно (3):

event.put("visibility", 0);

Вы можете контролироватьсобытие потребляет время (может иметь конфликты расписания) в календаре, устанавливая его прозрачность непрозрачным (0) или прозрачным (1).

event.put("transparency", 0);

Вы можете контролировать, вызывает ли событие сигнал тревоги напоминания, следующим образом:

event.put("hasAlarm", 1); // 0 for false, 1 for true

После правильной настройки события календаря мы готовы использовать ContentResolver для вставки новой записи календаря в соответствующий Uri для событий календаря:

  Uri eventsUri = Uri.parse("content://calendar/events");
  Uri url = getContentResolver().insert(eventsUri, event);
...