【发布时间】:2012-01-31 02:37:57
【问题描述】:
我无法找到解决问题的方法。我正在尝试将多个事件添加到我的 Android 日历中,但我不知道如何。我给找到了这段代码:
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra("allDay", true);
intent.putExtra("rrule", "FREQ=YEARLY");
intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000);
intent.putExtra("title", "A Test Event from android app"+String.valueOf(i));
startActivity(intent);
但它所做的只是将我发送到我的日历并让我编辑和手动插入我的事件。我想自动插入事件,而不是去我的日历应用程序。此外,我只能使用此代码添加一个事件。这不是我想要的。 我有 2 个字符串数组,一个包含日期,一个包含事件名称。 有谁知道是否有办法做到这一点?我一直在寻找解决方案很长一段时间,但没有找到。如果有人帮助我,我将不胜感激。谢谢!
我已经解决了这个问题!非常感谢!但是现在我有另一个我无法解决的问题。 我有这个代码:
ContentValues cv = new ContentValues();
cv.put("calendar_id", calIds[0]);
cv.put("title", title);
//cv.put("dtstart", dtstart );
//cv.put("dtend", dtend);
cv.put("rrule", "FREQ=MONTHLY");
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);
它会插入我的事件,但不会重复发生。我的意思是我的活动出现在 2jan2012 但在 2jan2013 没有出现,2014 年也没有出现,依此类推。所以我在电话上打开我的日历并尝试编辑我的事件,我看到我应该在哪里选择它的发生,它显示在 2012 年 1 月 2 日而不是 1 月 2 日,因为它应该从我的自定义事件电话。另一方面,如果我尝试从我的手机手动添加一个事件,它工作得很好(我的意思是我可以添加一个每年发生的事件)。
【问题讨论】: