我有一个用于我的数据库的同步适配器,在应用程序使用的某些时刻,它需要立即同步数据库。我想触发同步适配器,就像它的同步时间到了一样,然后重新建立同步时间(即,从此“同步现在”事件开始的4小时后)。
我有一个用于我的数据库的同步适配器,在应用程序使用的某些时刻,它需要立即同步数据库。我想触发同步适配器,就像它的同步时间到了一样,然后重新建立同步时间(即,从此“同步现在”事件开始的4小时后)。
我认为(未经测试)更好的解决方案已经在ContentResolver中定义。
ContentResolver.requestSync(account, authority, extras);
所以可以这样做:
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)
<sync-adapter>
的资源中指定的“contentAuthority”。此外,您可以为它们所有的account
都提供null
。 - rndstr