摆脱“参加?”在Android日历事件中,使用日历API
问题描述:
我在Android设备上创建本地日历,并将事件插入此日历中。 这里是我的代码(使用虚拟数据现在):摆脱“参加?”在Android日历事件中,使用日历API
public static Uri createCalendarWithName(Context ctx, String calendarName, String displayName, Account account) {
Uri target = Uri.parse(CalendarContract.Calendars.CONTENT_URI.toString());
target = target.buildUpon().appendQueryParameter(CalendarContract.CALLER_IS_SYNCADAPTER, "true")
.appendQueryParameter(CalendarContract.Calendars.ACCOUNT_NAME, account.name)
.appendQueryParameter(CalendarContract.Calendars.ACCOUNT_TYPE, account.type).build();
ContentValues values = new ContentValues();
values.put(Calendars.ACCOUNT_NAME, account.name);
values.put(Calendars.ACCOUNT_TYPE, account.type);
values.put(Calendars.NAME, calendarName);
values.put(Calendars.CALENDAR_DISPLAY_NAME, displayName);
values.put(Calendars.CALENDAR_COLOR, CALENDAR_COLOR);
values.put(Calendars.CALENDAR_ACCESS_LEVEL, CalendarContract.Calendars.CAL_ACCESS_OWNER);
values.put(Calendars.OWNER_ACCOUNT, account.name);
values.put(Calendars.VISIBLE, 1);
values.put(Calendars.SYNC_EVENTS, 1);
values.put(Calendars.CALENDAR_TIME_ZONE, "Europe/Oslo");
//values.put(Calendars.ALLOWED_ATTENDEE_TYPES, "0");
Uri newCalendar = ctx.getContentResolver().insert(target, values);
return newCalendar;
}
public void addEventToCalendar(){
long calID = getLocalCalID();
long startMillis = 0;
long endMillis = 0;
Calendar beginTime = Calendar.getInstance();
beginTime.set(2013, Calendar.MAY, 5, 14, 30);
startMillis = beginTime.getTimeInMillis();
Calendar endTime = Calendar.getInstance();
endTime.set(2013, Calendar.MAY, 5, 14, 55);
endMillis = endTime.getTimeInMillis();
ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();
values.put(Events.DTSTART, startMillis);
values.put(Events.DTEND, endMillis);
values.put(Events.TITLE, "Siste frist for å ettersende papirer");
values.put(Events.DESCRIPTION, "Hei!\n\n");
values.put(Events.CALENDAR_ID, calID);
values.put(Events.EVENT_TIMEZONE, "Europe/Oslo");
Uri uri = cr.insert(Events.CONTENT_URI, values);
// get the event ID that is the last element in the Uri
long eventID = Long.parseLong(uri.getLastPathSegment());
Log.i("EventID", ""+eventID);
cr = getContentResolver();
values = new ContentValues();
values.put(Reminders.MINUTES, TimeUnit.MINUTES.convert(2, TimeUnit.DAYS));
values.put(Reminders.EVENT_ID, eventID);
values.put(Reminders.METHOD, Reminders.METHOD_ALERT);
uri = cr.insert(Reminders.CONTENT_URI, values);
}
日历和事件创建为目的,但打开该事件揭示了一个名为“参加”行,有三个单选按钮:“是的,也许和不”。
有没有办法摆脱这个行/单选按钮?这种选择将无论如何不会在一个事件的效果什么那么在当地的日历,我相信......
我使用的是Android 4.0.4设备BTW :)
答
添加这两种线条显得解决问题:
values.put(Events.ORGANIZER, calendarOwner);
values.put(Events.HAS_ATTENDEE_DATA, 1);
不太确定为什么!
我有同样的问题。 – 2013-08-05 07:31:35