2 ssummeraw ssummeraw 于 2013.03.28 17:18 提问

如何给日历添加一个事件,每3天重复一次的出现?

我想使用下面的代码在日历上添加一个事件。

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 的属性吗?

2个回答

xiaoyan_12
xiaoyan_12   2013.04.03 14:38
已采纳

解决方法:

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);
CSDN_Ask
CSDN_Ask   2013.04.03 14:52

这段代码开始于 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);
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!