带有CalendarProvider的Android SyncAdapter

时间:2016-03-22 16:48:14

标签: android calendar android-syncadapter

我一直致力于实施自定义同步适配器,现在收到错误消息“无法找到...的提供商信息”

在搜索之后,似乎我需要提供ContentProvider,但我能找到的所有示例都涉及自定义ContentProvider。如下例:

<provider
    android:name=".provider.FeedProvider"
    android:authorities="com.example.android.network.sync.basicsyncadapter"
    android:exported="false" />

但是,我的应用会同步日历数据,因此我想将Calendar Provider用作我的ContentProvider?

最终目标是在同步时从服务器接收数据,并在收到此数据时相应地更新日历。

这实际上是可行的,还是我必须实现我自己的虚拟ContentProvider?

如果有可能,是否有任何关于如何做到这一点的例子?

1 个答案:

答案 0 :(得分:3)

在查看了一些关于如何使用ContactProvider同步联系人的示例后,我已经能够解决自己的问题了。这似乎比CalendarProvider记录得更好。

可以找到给我答案的博文here

我从AndroidManifest.xml中移除了提供程序,在我的syncadapter.xml文件中,我将contentAuthority设置为com.android.calendar。

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android"
              android:accountType="com.example.calendardemo"
              android:allowParallelSyncs="false"
              android:contentAuthority="com.android.calendar"
              android:isAlwaysSyncable="true"
              android:supportsUploading="true"
              android:userVisible="true"/>