在应用程序启动时将日期传递给日历应用程序

时间:2011-02-19 18:54:52

标签: android calendar alarm

我正在做一个项目,我想调用Android日历并设置闹钟。用户在应用程序本身中输入日期和时间。我们有什么办法可以在打开它时将这个日期和时间传递给日历应用程序吗?

1 个答案:

答案 0 :(得分:-1)

要向特定日历添加条目,我们需要使用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);

您可以通过将其透明度设置为opaque(0)或transparent(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);