我正在开发一款可在Google原生日历中创建,更新和删除活动的应用。 我正在通过以下代码创建一个事件:
ContentValues cvEvent = new ContentValues();
cvEvent.put(Events.DTSTART, startMillis);
cvEvent.put(Events.DTEND, endMillis);
cvEvent.put(Events.TITLE, strJobName);
cvEvent.put(Events.CALENDAR_ID, mlCalendarID);
cvEvent.put(Events.EVENT_TIMEZONE, "America/Los_Angeles");
Uri uriEvent = crEvent.insert(Events.CONTENT_URI, cvEvent);
但问题是此事件会创建由用户在其日历(Google)中设置的默认提醒。
我还允许用户在我的应用中添加提醒。因此,当他添加提醒时,我会在默认的Google日历中插入提醒。这没有问题。但是,当用户未在我的应用中添加任何提醒时,默认的Google日历会创建默认提醒。有谁能告诉我如何解决这个问题?
P.S:我没有使用同步适配器。我正在通过自己的逻辑创建和删除事件和提醒。
我尝试使用
values.put(Events.HAS_ALARM, 0);
但是,没用。
答案 0 :(得分:4)
如何使用插入事件后获得的事件ID以编程方式删除提醒?
ContentValues cvEvent = new ContentValues();
cvEvent.put(Events.DTSTART, startMillis);
cvEvent.put(Events.DTEND, endMillis);
cvEvent.put(Events.TITLE, strJobName);
cvEvent.put(Events.CALENDAR_ID, mlCalendarID);
cvEvent.put(Events.EVENT_TIMEZONE, "America/Los_Angeles");
Uri uriEvent = crEvent.insert(Events.CONTENT_URI, cvEvent);
//added code
long eventID = Long.parseLong(uri.getLastPathSegment());
ContentResolver cr = getContentResolver();
cr.delete(Reminders.CONTENT_URI, Reminders.EVENT_ID+"=?", new String[]{eventID+""});
答案 1 :(得分:1)
不确定如何在Android中执行此操作,但如果您查看Google的文档,则POST上有一个名为 reminders.useDefault 的字段,用于将事件插入日历。
财产名称:reminders.useDefault
值:布尔值
说明:日历的默认提醒是否适用于该事件
备注:可写
https://developers.google.com/google-apps/calendar/v3/reference/events/insert