2012-07-26 7 views
9

ContentResolver.requestSync(account, authority, extras);を使用して、選択したアカウントのみを同期するアプリケーションを開発しようとしています。選択したアカウントのサポートされている権限を一覧表示

Iはauthorityとしてそれぞれcom.android.contactscom.android.calendarを用いて同期連絡先、カレンダーへことができました。

しかし、特定のアカウントでのサポートを受けるには、の権限リストを取得する方法はありますか?

また、nullauthorityとすると、どのような影響がありますか?

答えて

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許可が必要です。

+1

ありがとう@biegleux ..その作業..しかし、電子メールを同期する権限を与えていない..任意のアイデア?? – JiTHiN

関連する問題