2012-07-26 11 views
9

Sto provando a sviluppare un'applicazione che sincronizza solo gli account selezionati utilizzando ContentResolver.requestSync(account, authority, extras);.Elenco di autorizzazioni supportate per account selezionati

ho potuto sincronizzazione contatti e calendario utilizzando com.android.contacts e com.android.calendar rispettivamente authority.

Ma, c'è un modo per ottenere l'elenco delle autorità supportato da un account specifico?

Inoltre, qual è l'effetto dell'uso di null come authority?

risposta

4

Utilizzare getSyncAdapterTypes() per ottenere informazioni su SyncAdapters note al sistema.

SyncAdapterType[] types = ContentResolver.getSyncAdapterTypes(); 
for (SyncAdapterType type : types) { 
    if (yourAccount.type.equals(type.accountType)) { 
     boolean isSyncable = ContentResolver.getIsSyncable(yourAccount, type.authority) > 0; 
     if (isSyncable) { 
      ContentResolver.requestSync(yourAccount, type.authority, extras); 
     } 
    } 
} 

Non dimenticare getIsSyncable() metodo richiede READ_SYNC_SETTINGS permesso.

+1

Thankz @biegleux .. sta funzionando .. ma, non sta dando l'autorità di sincronizzare le e-mail .. qualche idea ?? – JiTHiN

Problemi correlati