2016-03-22 10 views
2

ich einem benutzerdefinierten Sync-Adapter an der Umsetzung und bin jetzt gearbeitet habe einen Fehler zu erhalten, die besagt, „Fehler für Anbieter Info finden ...“Android SyncAdapter mit CalendarProvider

Nach der Suche um es scheint, dass ich zur Verfügung stellen muß Ein ContentProvider, aber alle Beispiele, die ich finden kann, beinhalten einen benutzerdefinierten ContentProvider. wie das Beispiel so unter:

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

jedoch meine App Kalenderdaten synchronisiert und deshalb möchte ich die Calendar Provider als meine Contentprovider benutzen?

Das Endziel besteht darin, Daten von einem Server zu empfangen, wenn der entsprechende Kalender synchronisiert und aktualisiert wird, wenn diese Daten empfangen werden.

Ist das tatsächlich möglich, oder müsste ich meinen eigenen Dummy ContentProvider implementieren?

Wenn es möglich ist, gibt es Beispiele dafür, wie dies getan werden kann?

Antwort

3

Ich war in der Lage, mein eigenes Problem zu lösen, nachdem ich einige Beispiele gesehen habe, wie Kontakte mit dem ContactProvider synchronisiert werden, der besser dokumentiert zu sein scheint als CalendarProvider.

Der Blogbeitrag, der mir die Antwort gab, kann here gefunden werden.

Ich habe den Anbieter aus meiner AndroidManifest.xml entfernt und in meiner Datei syncadapter.xml habe ich die contentAuthority auf com.android.calendar gesetzt.

<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"/> 
+0

Kann hilfreich sein https://stackoverflow.com/a/5255360/5279156 –

Verwandte Themen