如何在安卓上编写“立即同步”操作?

5

我有一个用于我的数据库的同步适配器,在应用程序使用的某些时刻,它需要立即同步数据库。我想触发同步适配器,就像它的同步时间到了一样,然后重新建立同步时间(即,从此“同步现在”事件开始的4小时后)。

1个回答

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)

1
请问“authority”是什么意思?文档上说它是“被控制行为的提供者”……这是什么意思? - blackfyre
@user1204089,它是您在<sync-adapter>的资源中指定的“contentAuthority”。此外,您可以为它们所有的account都提供null - rndstr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接