2012-07-26 22 views
9

Ich versuche, eine Anwendung zu entwickeln, die nur ausgewählte Konten mit ContentResolver.requestSync(account, authority, extras); synchronisiert.Liste der unterstützten Berechtigungen für ausgewählte Konten

I war sync Kontakte und Kalender der Lage durch com.android.contacts und com.android.calendar jeweils als authority verwenden.

Aber gibt es eine Möglichkeit, die Liste der Behörden von einem bestimmten Konto unterstützt zu bekommen?

Auch, was ist der Effekt der Verwendung von null als authority?

Antwort

4

Verwenden Sie , um Informationen über die SyncAdapters zu erhalten, die dem System bekannt sind.

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); 
     } 
    } 
} 

Sie getIsSyncable() Methode erfordert READ_SYNC_SETTINGS Erlaubnis nicht vergessen.

+1

Thankz @biegleux .. seine Arbeit .. aber, es ist nicht die Befugnis zu synchronisieren E-Mails .. keine Ahnung? – JiTHiN