【发布时间】:2011-01-04 23:03:04
【问题描述】:
我有一个应用程序,它使用提供程序 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 类中所示。
【问题讨论】:
-
请记住,您使用的内容提供程序是应用程序的功能,而不是操作系统。该应用程序及其内容提供商可能会或可能不会在任何给定设备上使用,可能会或可能不会在任何给定设备上进行修改,等等。如果我不得不猜测,三星修改后的应用程序本身不使用内容提供程序界面,选择其他一些支持同步的私有 API。