3
如何查詢同步帳戶是否經過同步檢查?Android - 查詢同步帳戶是否經過同步檢查
如何查詢同步帳戶是否經過同步檢查?Android - 查詢同步帳戶是否經過同步檢查
用戶不控制是否選擇帳戶進行同步 - 而是選擇(acount,contentAuthority)對。例如,可以檢查您的Gmail帳戶以同步聯繫人,但不能檢查日曆事件。
這裏是檢查首次輸入的「com.google類型」帳戶是否與谷歌聯繫人同步的代碼。 (請注意,「com.google」是類型的帳戶,不用戶名的實際內容。你可能有一個谷歌應用程序中有帳戶與自己的域名)
import android.provider.ContactsContract;
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.google");
boolean syncEnabled = ContentResolver.getSyncAutomatically(accounts[0], ContactsContract.AUTHORITY);
此代碼如果賬戶[]的大小爲0(沒有賬戶註冊),這顯然會失敗,並且在多個賬戶存在時是沒有意義的。你需要爲賬戶做一些合理的選擇。還有其他一些方法可以獲得一個帳戶。
只是因爲它被選中並不意味着它保證同步。還有一些額外的條件涉及 - 全局同步設置(開/關),網絡可用性,以及是否以及如何定期重新同步。 ContentResolver也是通往所有這些查詢的入口。