gpt4 book ai didi

android - 使用日历 API 摆脱 Android 日历事件中的 "Attending?"

转载 作者:行者123 更新时间:2023-11-29 00:29:54 25 4
gpt4 key购买 nike

我正在 Android 设备上创建一个本地日历,并将事件插入其中。这是我的代码(现在使用虚拟数据):

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);
}

日历和 Activity 已按预期创建,但打开 Activity 会显示名为“参加”的行,其中包含三个单选按钮:“是、可能和否”。

有什么办法可以去掉这一行/单选按钮吗?这个选择无论如何不会对本地日历中的事件产生任何影响,我认为......

顺便说一下,我使用的是 Android 4.0.4 设备 :)

最佳答案

添加这两行似乎可以解决问题:

values.put(Events.ORGANIZER, calendarOwner);
values.put(Events.HAS_ATTENDEE_DATA, 1);

不太清楚为什么!

引用:https://gist.github.com/mlc/5188579

关于android - 使用日历 API 摆脱 Android 日历事件中的 "Attending?",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16450311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com