#android #calendar
#Android #Календарь
Вопрос:
Возможно ли провести мероприятие без всплывающего напоминания? Ниже приведен мой код Xamarin для создания события (этот вопрос не относится к Xamarin, Java-код будет почти таким же):
private static ContentValues BuildContentValues(int y, int m, int d, int h, int u, string text)
{
var now = new DateTime(y, m, d, h, u, 0);
ContentValues eventValues = new ContentValues();
eventValues.Put(CalendarContract.Events.InterfaceConsts.CalendarId, calendarId);
eventValues.Put(CalendarContract.Events.InterfaceConsts.Title, shorter);
eventValues.Put(CalendarContract.Events.InterfaceConsts.Description, text);
eventValues.Put(CalendarContract.Events.InterfaceConsts.Dtstart, GetDateTimeMS(now.Year, now.Month, now.Day, now.Hour, now.Minute));
eventValues.Put(CalendarContract.Events.InterfaceConsts.Dtend, GetDateTimeMS(now.Year, now.Month, now.Day, now.Hour, now.Minute));
eventValues.Put(CalendarContract.Events.InterfaceConsts.HasAlarm, 0); // no affect
eventValues.Put(CalendarContract.Reminders.InterfaceConsts.Minutes, 5);
// eventValues.Put(CalendarContract.Reminders.InterfaceConsts.Method, 0); // crashes
eventValues.Put(CalendarContract.Events.InterfaceConsts.EventTimezone, "UTC");
eventValues.Put(CalendarContract.Events.InterfaceConsts.EventEndTimezone, "UTC");
return eventValues;
}
Мне не повезло найти в Гугле ответ на этот вопрос.
Ответ №1:
Напоминание состоит из:
- Когда показывать напоминание, выраженное в минутах до времени начала события.
- Способ доставки, который нужно использовать.
Напоминания могут быть указаны как для целых календарей, так и для отдельных событий. Пользователи могут устанавливать напоминания по умолчанию для каждого из своих календарей; эти напоминания по умолчанию применяются ко всем событиям в этом календаре. Однако пользователи также могут переопределить эти значения по умолчанию для отдельных событий, заменив их другим набором напоминаний.
Переопределение напоминаний по умолчанию
Чтобы переопределить напоминания по умолчанию при вставке или изменении события, установите для параметра reminders.useDefault значение false и заполните reminders.overrides новым набором напоминаний.
В вашем случае вы можете отключить напоминание по умолчанию в вашем календаре (если настроено существующее напоминание), установив для параметра reminders.useDefault значение false, нет необходимости заполнять напоминания.переопределяет методы и минуты.
Пример события без напоминания:
{
"end": {
"dateTime": "2020-11-27T03:53:00 08:00"
},
"start": {
"dateTime": "2020-11-27T03:43:00 08:00"
},
"summary": "Test Event No Reminder",
"reminders": {
"useDefault": false
}
}
Пример события напоминания по умолчанию:
{
"end": {
"dateTime": "2020-11-27T03:53:00 08:00"
},
"start": {
"dateTime": "2020-11-27T03:43:00 08:00"
},
"summary": "Test Event Default Reminder"
}
Ссылка:
https://developers.google.com/calendar/v3/reference/events#reminders.useDefault