4

我了解自动同步会在内容修改后 30 秒发生。观察 logcat 的时间更长,这证明自动同步没有发生。至少,不适用于我的自定义 SyncAdapter。

用户提供者:

<provider android:name="nl.providers.UserProvider" 
    android:authorities="nl.providers.UserProvider" 
    android:enabled="true" android:label="Users" />

用户同步适配器:

<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" 
    android:contentAuthority="nl.providers.UserProvider"
    android:accountType="nl.account" 
    android:supportsUploading="false" 
    android:userVisible="true" />

启动器:

ContentResolver.setIsSyncable(account, "nl.providers.UserProvider", 1);
ContentResolver.setSyncAutomatically(account, "nl.providers.UserProvider", true);

我错过了什么吗?或者谁能​​给我更多关于这个主题的信息来帮助我的搜索?

4

4 回答 4

3

同步发生时没有设置时间延迟。它可能迟早取决于设备上的其他活动。

修改内容是不够的。你在打电话 notifyChange() 吗?例如在您插入、更新或删除后的 ContentProvider 中:

getContext().getContentResolver().notifyChange(rowUri, null, true);

还要确保在您正在测试的设备或模拟器上的“帐户和同步”设置中实际启用了同步。

希望对某人有所帮助:)

于 2012-08-28T19:10:05.847 回答
0

原因可能是因为您正在设置android:supportsUploading="false"并且您需要将其设置为truelikeandroid:supportsUploading="true"然后适配器才能与网络同步。

于 2015-03-28T04:19:05.253 回答
0

检查系统帐户设置是否有任何同步错误。如果您的同步将异常添加到同步结果统计信息中,则可能会发生这些情况,这可能会导致它等待更长时间才能再次同步。您还可以使用菜单中的“立即同步”进行测试。

于 2013-09-10T23:02:36.680 回答
0

我能想到的原因:

1)您没有为该 SyncAdapter 添加帐户(在 Account&Sync 中进行)

2)您的设备上没有互联网连接

于 2012-06-01T16:35:58.957 回答