2013-05-08 8 views
5

Desidero sincronizzare com.android.contacts e com.android.calendar con un SyncAdapter. È possibile?Sincronizzazione di più provider con un SyncAdapter

Se sì, come devo modificare le seguenti righe?

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

risposta

3
appearently non

:

"Ogni SyncAdapter gira uno SyncThread che è destinata alle autorità definita in sincronia-adapter.xml, e molteplici autorità non può essere definito in questo file XML ..."

(kianatennyson)

How to use one SyncAdapter-class for multiple authorities?

+0

Questa risposta è sbagliata - anche se non si può legare un 'SyncAdapter' per più di un'autorità, è ancora possibile accedere a tutti esportati' ContentProvider's da 'metodo onPerformSync()' ... – Vasiliy

1

È possibile sincronizzare qualsiasi ContentProvider dal SyncAdapter, purché sia ​​esportato e consenta la modifica dei dati sottostanti.

Al fine di ottenere questo risultato non è necessario specificare i fornitori extra o autorità in XML - solo ottenere un riferimento alla ContentResolver all'interno onPerformSync() e utilizzarlo per accedere ContentProvider s di interesse.

Per un po 'più di informazioni, leggere questa risposta: https://stackoverflow.com/a/30693866/2463035

Problemi correlati