Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to code a "sync now" operation on Android?

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).

like image 285
mobibob Avatar asked Oct 13 '22 19:10

mobibob


1 Answers

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)
like image 97
mobibob Avatar answered Oct 18 '22 03:10

mobibob