9

を使用して、選択したアカウントのみを同期するアプリケーションを開発しようとしていますContentResolver.requestSync(account, authority, extras);

とをそれぞれとして使用して、連絡先とカレンダーを同期することができました。com.android.contactscom.android.calendarauthority

しかし、特定のアカウントでサポートされている機関のリストを取得する方法はありますか?

また、nullとして使用するとどのような効果がありauthorityますか?

4

1 に答える 1

4

getSyncAdapterTypes()を使用して、システムに認識されている情報を取得SyncAdaptersします。

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

getIsSyncable()メソッドにはREAD_SYNC_SETTINGS権限が必要であることを忘れないでください。

于 2012-07-31T09:25:03.230 に答える