9

我正在尝试开发一个应用程序,它只使用ContentResolver.requestSync(account, authority, extras);.

我能够通过分别使用和作为来同步联系人和日历。com.android.contactscom.android.calendarauthority

但是,有什么办法可以得到特定帐户支持的权限列表?

另外,使用nullas 有什么作用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 回答