2013-05-08 8 views
5

Ich möchte com.android.contacts und com.android.calendar mit einem SyncAdapter synchronisieren. Ist das möglich?Synchronisierung mehrerer Anbieter mit einem SyncAdapter

Wenn ja, wie muss ich folgende Zeilen bearbeiten?

<sync-adapter 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:contentAuthority="com.android.contacts" 
    android:accountType="com.package.account" 
    android:supportsUploading="false" 
    android:userVisible="true" /> 

Antwort

3

appearently nicht:

"Jeder SyncAdapter bis spinnt einen SyncThread, die an die Behörde in sync-adapter.xml definiert gebunden ist, und mehrere Behörden nicht in dieser XML-Datei definiert werden ..."

(kianatennyson)

How to use one SyncAdapter-class for multiple authorities?

+0

Diese Antwort ist falsch - wenn Sie nicht eine 'SyncAdapter' auf mehr als eine Behörde binden können, können Sie immer noch alle' exportiert Zugriff ContentProvider's aus 'onPerformSync()' Methode ... – Vasiliy

1

Sie jede ContentProvider von Ihremsynchronisieren, solange es exportiert wird und die zugrunde liegenden Daten geändert werden können.

Um dies brauchen Sie nicht zu erreichen die zusätzlichen Provider oder Behörden in Ihrem XML angeben - nur einen Verweis auf ContentResolver innerhalb onPerformSync() bekommen und es verwenden, ContentProvider s von Interesse zuzugreifen.

Für ein bisschen mehr Informationen, lesen Sie diese Antwort: https://stackoverflow.com/a/30693866/2463035