谷歌日历不显示添加事件的提醒

Posted

技术标签:

【中文标题】谷歌日历不显示添加事件的提醒【英文标题】:Google Calendar not showing reminders for added event 【发布时间】:2018-07-05 10:16:56 【问题描述】:

您好,我正在将事件保存到设备的日历中,并希望为添加的事件设置警报或提醒。目前它正在添加事件但不显示提醒或不播放警报。

我希望在事件发生 5 分钟前收到警报或提醒。

 public static long pushAppointmentsToCalender(Activity curActivity, String title, String addInfo,
                                              String place, int status, long startDate, boolean needReminder) 
    /***************** Event: note(without alert) *******************/

    String eventUriString = "content://com.android.calendar/events";
    ContentValues eventValues = new ContentValues();
    eventValues.put("title", title);
    eventValues.put("description", addInfo);
    eventValues.put("eventLocation", place);

    long endDate = startDate + 1000 * 60 * 60; // For next 1hr

    eventValues.put("dtstart", startDate);
    eventValues.put("dtend", endDate);
    eventValues.put("eventStatus", status); // This information is
    eventValues.put("eventTimezone", "UTC +5:30");
    eventValues.put("hasAlarm", 1); // 0 for false, 1 for true

    Uri eventUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(eventUriString), eventValues);
    long eventID = Long.parseLong(eventUri.getLastPathSegment());

    if (needReminder) 

        String reminderUriString = "content://com.android.calendar/reminders";

        ContentValues reminderValues = new ContentValues();

        reminderValues.put("event_id", eventID);
        reminderValues.put("minutes", 5); // Default value of the
        reminderValues.put("method",1); // Alert Methods: Default(0),
        Uri reminderUri = curActivity.getApplicationContext().getContentResolver().insert(Uri.parse(reminderUriString), reminderValues);
    

    return eventID;

【问题讨论】:

您是否检查了提醒数据在保存到 Google 时是否已保存到事件中,是否与您预期的一样?顺便说一句,这似乎是 Android 日历而不是谷歌日历。 【参考方案1】:

您可以查看documentation 中的示例代码,了解如何插入带有提醒的事件。

EventReminder[] reminderOverrides = new EventReminder[] 
    new EventReminder().setMethod("email").setMinutes(24 * 60),
    new EventReminder().setMethod("popup").setMinutes(10),
;
Event.Reminders reminders = new Event.Reminders()
    .setUseDefault(false)
    .setOverrides(Arrays.asList(reminderOverrides));
event.setReminders(reminders);

这是一个可能有帮助的附加链接:How to create Events in Google Calendar API with Android

【讨论】:

以上是关于谷歌日历不显示添加事件的提醒的主要内容,如果未能解决你的问题,请参考以下文章

iOS日历中给一个事件添加多个提醒

Android向系统日历添加日程提醒事件

如何使用 html 代码将事件添加到指定的谷歌日历

Android向系统日历中添加日程事件

Android向系统日历中添加日程事件

Android向系统日历中添加日程事件