gpt4 book ai didi

android - 日历事件保存在手机本地,但无法同步到 Google 日历

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:12:12 28 4
gpt4 key购买 nike

我尝试通过以下代码添加日历。创建的事件可以通过我手机上的日历应用程序读取,但只能同步到在线 Google 日历。谁能给我一些解决办法吗?

这里有一些评论1. 代码在我的真实手机上运行(Galaxy Nexus 4.1.1)2.所有其他日历事件都可以同步到谷歌日历,只有添加的程序不能同步。

---更新---

当我更改以下代码时

values.put(CalendarContract.Events.SYNC_EVENTS,1);
values.put(CalendarContract.Events.VISIBLE, 1);

--我得到错误

java.lang.IllegalArgumentException: Only the provider may write to sync_events

    public void addEvent() {

long startMillis = 0;
long endMillis = 0;

Log.v("LOG", "entered addEvent");


//Calendar beginTime = Calendar.getInstance();
//beginTime.set(2012, 8, 11, 22, 0);
//startMillis = beginTime.getTimeInMillis();
startMillis = System.currentTimeMillis() + (3600 * 1000)*4;

//Calendar endTime = Calendar.getInstance();
//endTime.set(2012, 8, 11, 23, 0);
//endMillis = endTime.getTimeInMillis();
endMillis = System.currentTimeMillis() + (3600 * 1000)*5;

ContentResolver cr = getContentResolver();
ContentValues values = new ContentValues();

values.put(CalendarContract.Events.DTSTART, startMillis);
values.put(CalendarContract.Events.DTEND, endMillis);
values.put(CalendarContract.Events.TITLE, "Dog");
values.put(CalendarContract.Events.DESCRIPTION, "DogInDESCRIPTION");
values.put(CalendarContract.Events.CALENDAR_ID, 1);
values.put(CalendarContract.Events.EVENT_TIMEZONE, "eventTimezone");

values.put(CalendarContract.Events.SYNC_EVENTS,0);


cr.insert(CalendarContract.Events.CONTENT_URI, values);
}

最佳答案

您不应在 CalendarContract.Events.CONTENT_URI 上设置 CalendarContract.Events.SYNC_EVENTS

如果日历已在您的设备上设置为可见并已同步,您只需添加一个事件,它就会同步。

如果您需要从应用程序打开同步,您可以在 CalendarContract.Calendars.CONTENT_URI 上设置 CalendarContract.Events.SYNC_EVENTS

例如(calId 是您要更新为可见和同步的日历的 ID)。

ContentResolver cr = context.getContentResolver();
ContentValues values = new ContentValues();
values.put(CalendarContract.Calendars.SYNC_EVENTS, 1);
values.put(CalendarContract.Calendars.VISIBLE, 1);

cr.update(ContentUris.withAppendedId(Calendars.CONTENT_URI, calId), values, null, null);

关于android - 日历事件保存在手机本地,但无法同步到 Google 日历,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11919402/

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