私は2つのことを知る必要があります:
- デバイスで現在アクティブな Google 同期はありますか。
- yes の場合、最後のバックアップ日時。
これまでのところ、このデータを手に入れる方法が見つかりませんでした。助けていただければ幸いです。特定の API バージョンからのみ機能するソリューションであれば問題ありません。
ありがとう
私は2つのことを知る必要があります:
これまでのところ、このデータを手に入れる方法が見つかりませんでした。助けていただければ幸いです。特定の API バージョンからのみ機能するソリューションであれば問題ありません。
ありがとう
を使用AccountManager
して、結果をアカウントの種類 ( com.google ) でフィルタリングする必要がありますが、何よりも、 ContentResolverを使用して同期状態でフィルタリングする必要があります。
添付のコードを確認してください。
AccountManager am = AccountManager.get(this);
Account[] accounts = am.getAccountsByType("com.google");
boolean syncEnabled = ContentResolver.getSyncAutomatically(accounts[0], ContactsContract.AUTHORITY);
同期が有効になっているかどうかを知るには、次の 3 つの方法が役立ちます。
ContentResolver.getMasterSyncAutomatically()
デバイス全体で同期が有効になっている場合は true を返します。ContentResolver.getIsSyncable(yourAccount, TheProviderYouWant.AUTHORITY))
プロバイダが同期可能な場合、値 > 0 を返しますContentResolver.getSyncAutomatically(yourAccount, TheProviderYouWant.AUTHORITY)
このプロバイダーで現在同期が有効になっている場合は true を返します。ただし、 false を返しても true を返す可能性があるgetMasterSyncAutomatically()
ため、もチェックするように注意してくださいgetSyncAutomatically()
getMasterSyncAutomatically()