我有一个应用程序,使用提供程序 content://com.android.calendar/events
将日历事件插入Android日历(对于Android 2.2,否则为 content://calendar/events
) .
这通常很好用,在我的Nexus One上,事件会被添加并正确同步到Google日历 .
但是,在Galaxy S上,添加到Google帐户日历的新活动会在手机上正确显示,但不会同步回Google日历 . 即使强制在手机设置中进行同步,新事件也不会出现在Google日历中(从网络上查看) .
在同一部手机上,使用内置三星日历应用程序添加到同一Google日历的新活动会同步到Google日历 .
有谁知道如何让新事件从Galaxy S同步到谷歌?
一些代码:我的实际插入是这样完成的:
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 回答
请注意,当您执行诸如编写原始字符串之类的内容时,例如:
您正在使用私有API . 无法保证这适用于任何特定平台或设备,因为它们不是SDK的一部分 .
目前,日历数据库没有公共API .
Commonsware是正确的 . 三星已在手机上修改了日历应用程序 . 该应用程序不仅使用谷歌,交换和Facebook日历,但他们还放入了一个名为“我的日历”的“收藏家”日历 .
带有TouchWiz的Galxy S上的日历应用程序是错误的 . 有些东西有用,有些则没有 . 有一个已知错误,显示前一天结束的所有日期事件 . 在2.2的官方更新发布之前,此日历不可靠 .
其他电话公司也可能对他们的手机做同样的事情,因为@hackbod指出日历数据库没有公共API .