Android SyncAdapter不会自动同步
我知道自动同步发生在内容修改后30秒。观察logcat的时间更长,这证明自动同步不会发生。至少,不适用于我的自定义SyncAdapter 用户提供者:Android SyncAdapter不会自动同步,android,android-contentprovider,android-syncadapter,Android,Android Contentprovider,Android Syncadapter,我知道自动同步发生在内容修改后30秒。观察logcat的时间更长,这证明自动同步不会发生。至少,不适用于我的自定义SyncAdapter 用户提供者: <provider android:name="nl.providers.UserProvider" android:authorities="nl.providers.UserProvider" android:enabled="true" android:label="Users" /> <sync-a
<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);
我错过什么了吗?或者有人能给我更多关于这个主题的信息来帮助我搜索吗?我能想到的原因是: 1) 您没有为该SyncAdapter添加帐户(在帐户和同步中执行此操作)
2) 设备上没有internet连接同步发生时没有设置时间延迟。根据设备上的其他活动,它可能早或晚 仅仅修改内容是不够的。您正在调用notifyChange()? 例如,在插入、更新或删除后,在ContentProvider中:
getContext().getContentResolver().notifyChange(rowUri, null, true);
还要确保在设备或模拟器上的帐户和同步设置中,您正在测试的同步实际上已启用
希望这对某人有所帮助:)检查系统帐户设置是否存在任何同步错误。如果您的同步在同步结果统计数据中添加了异常,则可能会发生这种情况,这可能会导致重新同步的等待时间更长。您还可以使用菜单中的“立即同步”进行测试。原因可能是您正在设置
android:supportsupload=“false”
,需要将其设置为true
,如android:supportsupload=“true”
,然后适配器可以与网络同步[StackOverflow:为什么ContentResolver.requestSync不触发同步?][1]提供了排队以启动同步所需的所有步骤。[1]:谢谢,.notifyChange()是我在网络状态更改时自动启动同步所缺少的。