How to code a “sync now” operation on Android?
-
11-10-2019 - |
Question
I have a sync adapter for my DB and at certain points in the application usage, it needs to sync the DB now. I would like to trigger the sync adapter as if its sync-time popped and then re-establish the sync time (i.e., 4 hours from this 'sync now" event).
Solution
I think (not tested) a better solution is already defined in the ContentResolver.
ContentResolver.requestSync(account, authority, extras);
so one might do the following:
AccountManager am = AccountManager.get(context);
Account account = null;
am.getAccountsByType(mytype);
for(Account a : accounts) {
if (am.getUserData(account, key)) {
account = a;
break;
}
}
Bundle extras = new Bundle();
extras.putString(EXTRA_mystuff, myvalue);
ContentResolver.requestSync(account, authority, extras)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow