Galaxy S上的日历插入不会同步到Google日历

时间:2011-01-04 23:03:05

标签: android calendar galaxy

我有一个应用程序,使用提供程序content://com.android.calendar/events将日历事件插入到Android日历中(对于Android 2.2,其他为content://calendar/events)。

这通常很好用,在我的Nexus One上,事件会被添加并正确同步到Google日历。

但是,在Galaxy S上,添加到Google帐户日历的新活动会在手机上正确显示,但不会同步回Google日历。即使强制在手机设置中进行同步,新事件也不会出现在Google日历中(从网络上查看)。

在同一部手机上,使用内置三星日历应用程序添加到同一Google日历的新活动会同步到Google日历。

有谁知道如何让新事件从Galaxy S同步到Google?

一些代码:我的实际插入是这样完成的:

Builder b = ContentProviderOperation.newInsert("content://com.android.calendar/events").withValues(values);
ops.add(b.build());    
getContentResolver().applyBatch("com.android.calendar", ops);

这与Android日历应用程序的插入方式类似,如AOSP EditEvent类中所示。

2 个答案:

答案 0 :(得分:3)

请注意,当您执行诸如编写原始字符串之类的内容时:

"content://com.android.calendar/events"
"com.android.calendar"

您正在使用私有API。无法保证这适用于任何特定平台或设备,因为它们不属于SDK。

目前,日历数据库没有公共API。

答案 1 :(得分:2)

Commonsware是正确的。三星已在手机上修改了日历应用程序。该应用程序不仅使用谷歌,交换和Facebook日历,但他们还放入了一个名为“我的日历”的“收藏家”日历。

带有TouchWiz的Galxy S上的日历应用程序是错误的。有些东西有用,有些则没有。有一个已知错误,显示前一天结束的所有日期事件。在2.2的官方更新发布之前,此日历不可靠。

其他电话公司也可能对他们的手机也这样做,因为@hackbod指出日历数据库没有公共API。