我一直致力于实施自定义同步适配器,现在收到错误消息“无法找到...的提供商信息”
在搜索之后,似乎我需要提供ContentProvider,但我能找到的所有示例都涉及自定义ContentProvider。如下例:
<provider
android:name=".provider.FeedProvider"
android:authorities="com.example.android.network.sync.basicsyncadapter"
android:exported="false" />
但是,我的应用会同步日历数据,因此我想将Calendar Provider用作我的ContentProvider?
最终目标是在同步时从服务器接收数据,并在收到此数据时相应地更新日历。
这实际上是可行的,还是我必须实现我自己的虚拟ContentProvider?
如果有可能,是否有任何关于如何做到这一点的例子?
答案 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"/>