将参与者添加到android日历事件中

时间:2013-08-07 11:39:30

标签: java android android-intent android-calendar

我设法将“主要”信息传递给日历意图......

但是,当我尝试将参与者添加到意图时,它们不会被插入。这是代码

        startCalIntent =  new Intent(Intent.ACTION_EDIT);
        startCalIntent.setType("vnd.android.cursor.item/event");

        startCalIntent.putExtra(Events.TITLE, title);
        startCalIntent.putExtra(Events.EVENT_LOCATION, location);
        startCalIntent.putExtra(Events.DESCRIPTION, details);
        startCalIntent.putExtra(Events.ORGANIZER, organiser);
        startCalIntent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, splitDateTime(date, startTime));
        startCalIntent.putExtra(CalendarContract.EXTRA_EVENT_END_TIME, splitDateTime(date, endTime));
        startCalIntent.putExtra(Events.EVENT_TIMEZONE, "Europe/London");


        startCalIntent.putExtra(Attendees.HAS_ATTENDEE_DATA, "1"); 
        startCalIntent.putExtra(Attendees.ATTENDEE_NAME, "DAVE");//<---NOT WORKING

        startActivity(startCalIntent);

2 个答案:

答案 0 :(得分:1)

您无法在创建活动期间添加与会者。您需要Event_ID来继续对事件进行另一次更新,例如添加余数或与会者。

  

注意:请参阅此示例在事件发生后如何捕获事件ID   创建。这是获取事件ID的最简单方法。你经常需要   用于执行其他日历操作的事件ID - 例如,要添加   与会者或提醒活动。

来源:Android developer

您可以使用Android开发人员提供的此代码:

long eventID = 202;
...
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(Attendees.ATTENDEE_NAME, "Trevor");
values.put(Attendees.ATTENDEE_EMAIL, "trevor@example.com");
values.put(Attendees.ATTENDEE_RELATIONSHIP, Attendees.RELATIONSHIP_ATTENDEE);
values.put(Attendees.ATTENDEE_TYPE, Attendees.TYPE_OPTIONAL);
values.put(Attendees.ATTENDEE_STATUS, Attendees.ATTENDEE_STATUS_INVITED);
values.put(Attendees.EVENT_ID, eventID);
Uri uri = cr.insert(Attendees.CONTENT_URI, values);
希望这可能有所帮助;

答案 1 :(得分:-1)

试试这个..

ContentValues values = new ContentValues();
values.put("calendar_id", 1);
values.put("title", "event Name");
values.put("allDay", 0);
values.put("dtstart", cal.getTimeInMillis() + diffInhrs*60*1000); // event starts at date specified in datepicker
values.put("dtend", cal.getTimeInMillis()+ end_diff *60*1000); // ends 60 minutes from selected date
values.put("description", "event desc");
values.put("visibility", 0);
values.put("hasAlarm", 1);
Uri event = cr.insert(EVENTS_URI, values);

如需更多解释,请仔细阅读CLICK HERE