在android日历中插入事件时获得异常

时间:2010-08-09 13:17:34

标签: android calendar

我在我的安卓日历中插入事件。代码如下:

ContentValues event = new ContentValues();
    event.put("calendar_id", calId);
    event.put("title", "Event Title");
    event.put("description", "Event Desc");
    event.put("eventLocation", "Event Location");
    event.put("allDay", 1);
    event.put("eventStatus", 1);
    event.put("visibility", 0);
    event.put("transparency", 0);
    event.put("hasAlarm", 1);

    Date d = new Date();
    d.setHours(8);
    d.setMinutes(30);
    d.setSeconds(30);
    long startTime = d.getTime();
    d.setHours(12);
    d.setMinutes(30);
    d.setSeconds(20);
    long endTime = d.getTime();
    event.put("dtstart", startTime);
    // event.put("dtend", endTime);
    event.put("rrule", "FREQ=DAILY;WKST=SU");
    // event.put("lastDate", endTime);
    // event.put("timezone", "Asia/Karachi");
    //event.put("duration", "P3600S");

    //Calendar gmtC = new GregorianCalendar(TimeZone.getTimeZone("Asia/Karachi"));



    // event.put("transparency", 0);
    // event.put("hasAlarm", 1); // 0 for false, 1 for true
    Uri eventsUri = Uri.parse("content://calendar/events");
    Uri url = getContentResolver().insert(eventsUri, event);

我收到以下异常:

java.lang.IllegalArgumentException: allDay is true but sec, min, hour are not 0.

需要帮助!

2 个答案:

答案 0 :(得分:0)

看起来如果你有event.put(“allDay”,1),那么这是一整天的活动。

尽量不设置结束时间。

答案 1 :(得分:0)

如果您要添加重复发生的事件,则需要提供持续时间,并且应该没有结束时间。  请参阅此http://developer.android.com/guide/topics/providers/calendar-provider.html(转到添加活动)