我正在做一个项目,我想调用 Android 日历并设置警报。用户在应用程序本身中输入日期和时间。有什么方法可以在打开日历应用程序时将此日期和时间传递给它?
问问题
511 次
1 回答
-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);
您可以通过将事件的透明度设置为不透明 (0) 或透明 (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);
于 2011-02-19T19:13:14.140 回答