在Android日历中插入重复事件

在Android日历中插入重复事件,android,events,recurring,Android,Events,Recurring,我有一个无法解决的问题。我设法将我的事件插入我的android日历,但我想让它们重复出现。比如生日。我希望他们每年重复一次。我有以下代码: final ContentResolver cr = ctx.getContentResolver(); ContentValues cv = new ContentValues(); cv.put("calendar_id", calIds[0]); cv.put("title", title); cv.put("

我有一个无法解决的问题。我设法将我的事件插入我的android日历,但我想让它们重复出现。比如生日。我希望他们每年重复一次。我有以下代码:

    final ContentResolver cr = ctx.getContentResolver();
    ContentValues cv = new ContentValues();
    cv.put("calendar_id", calIds[0]);
    cv.put("title", title);

    cv.put("rrule", "FREQ=YEARLY");
    cv.put("description", comment );
    Calendar start = Calendar.getInstance();
    start.set(2012, 0, 2, 8, 0, 0);

    Calendar end = Calendar.getInstance();
    end.set(2012, 0, 2, 9, 0, 0);

    long startTime = start.getTimeInMillis();       
    long endTime = end.getTimeInMillis();

    cv.put("dtstart", startTime);
    cv.put("dtend", endTime);
    //Insertion on the events of the calendar
    cr.insert(Uri.parse("content://com.android.calendar/events"), cv);
它会插入我的事件,但不会重复。我的意思是我的活动出现在2012年1月2日,但2013年1月2日没有,2014年也没有,以此类推。因此,我在手机上打开了我的日历,试图编辑我的活动,我发现我应该在哪里选择它的发生时间,那里显示的是2012年1月2日,而不是1月2日,如果它要从我的手机自定义我的活动,它应该在那里显示。另一方面,如果我尝试从我的手机手动添加事件,它可以正常工作,我的意思是我可以添加每年发生的事件。 我注意到的另一件事是,如果我更改年份,例如,我将2010年改为2012年,它将每年插入我的事件,直到我的当前日期。更准确地说,它在2010年1月2日插入了一个事件,在2011年1月2日插入了另一个事件,在2012年1月2日停止,在此日期之后,不再为该日期插入其他事件。
有没有人遇到过这种问题?欢迎任何帮助。谢谢大家!

从听起来,您尝试添加的任何事件都不会在当前日期之后再次发生


使用日历,手动插入具有特定标题(如测试)的年度/月度/每周事件,该事件在当前日期之后重复出现。然后编写一个简单的方法,读取当前日历中的事件。检查标题测试并记录该事件的ContentValues内容-查看是否可以发现任何差异。

如果是重复事件,请在ContentValues中使用“duration”而不是“dtend”

请参阅查看此问题:查看此问题: