我想使用下面的代码在日历上添加一个事件。
cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(Events.DTSTART, startMillis);
values.put(Events.DURATION, "P3600S");
values.put(Events.TITLE, "MyTestNew");
values.put(Events.DESCRIPTION, "Group workout");
values.put(Events.CALENDAR_ID, calID);
values.put(Events.EVENT_TIMEZONE, "India");
values.put(Events.ALL_DAY, 1);
values.put(Events.RRULE, "FREQ=WEEKLY;WKST=SU;BYDAY=SA");
uri = cr.insert(Events.CONTENT_URI, values);
我想添加的这个事件是要求每三天重复出现一次。那么要改变(Events.RRULE
的属性吗?
解决方法:
values.put(Events.DTSTART, startMillis);
values.put(Events.DURATION, "P1800S");
values.put(Events.TITLE, "MyTestNew");
values.put(Events.DESCRIPTION, "Group workout");
values.put(Events.CALENDAR_ID, calID);
values.put(Events.EVENT_TIMEZONE, "India");
values.put(Events.RRULE, "FREQ=DAILY;INTERVAL=3");
uri = cr.insert(Events.CONTENT_URI, values);
这段代码开始于 android 的默认日历,你可以添加在日历上添加事件
String dtStart = "2012" + "" + "06-11-01T10:50:00Z";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
try {Date date = format.parse(dtStart);
Calendar cal = Calendar.getInstance();
cal.setTimeInMillis(System.currentTimeMillis());
//cal.setTime(date);
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra("allDay", false);
intent.putExtra("rrule", "FREQ=DAILY;COUNT=1");
intent.putExtra("endTime", cal.getTimeInMillis() + 60 * 60 * 1000);
intent.putExtra("title", "Booking Confirm Notification");
intent.putExtra("Description", "Please check details");
startActivity(intent);