QR-код для события, к которому DTSTART относится сегодня

Можно ли создать QR-код, который устанавливает событие в календаре с датой, соответствующей дате сканирования кода?

Пример: отсканируйте код и через 2 месяца мой телефон показывает событие или выдает мне напоминание.

2 ответа

Вы можете создать QR-код, который указывает URL-адрес, где находится файл.ics. При загрузке файла на устройстве появляется всплывающее окно с настройкой события.

Вы можете создать собственный файл.ics, например, здесь: http://www.pratie.com/lab/icalendar/

РЕДАКТИРОВАТЬ: вы можете динамически скомпилировать переменную DSTART в вашем коде программирования:

BEGIN:VCALENDAR
VERSION:1.0
BEGIN:VEVENT
DTSTART:20121121T090000
DTEND:20121121T100000
SUMMARY:fdsf
LOCATION:
DESCRIPTION:
PRIORITY:3
END:VEVENT
END:VCALENDAR

Формат переменной DSTART следующий:

DSTART: <year><month><day>T<hour><minutes><seconds>

Чтобы использовать относительное время "сейчас", вы можете использовать несколько опций, которые дает программирование. (Time.now, отметка времени), а затем преобразовать его в правильный вывод.ics.

Спецификация Icalendar (RFC5545) не позволяет относительному DTSTART:

3.8.2.4.  Date-Time Start [...] The time value MUST be one of the forms defined for the DATE-TIME value type. The value type can be set to a DATE value type.

3.3.4.  Date [...] The textual format specifies a four-digit year, two-digit month, and two-digit day of the month.

3.3.5.  Date-Time [...] The "DATE-TIME" value type is used to identify values that contain
  a precise calendar date and time of day.

Однако QRCODE может быть ссылкой на URL-адрес, который затем будет динамически генерировать ical-файл с DTSART, который будет установлен на дату 2 месяца в будущем.

Другие вопросы по тегам