我正在编写自己的 ContentProvider,它将使用 SyncAdapter 同步到 Web 服务。
当同步适配器正在修改内容提供者的数据时会发生问题,提供者在内部调用 getContentResolver().notifyChange 时会触发网络同步,从而导致同步循环。
当客户端应用程序进行修改时需要带有网络同步标志的 notifyChange,但在同步适配器正在修改时应避免使用。
在 contentprovider 中,如何轻松判断它是由客户端应用程序(应在修改时触发网络同步)还是由同步适配器(不应触发网络同步)使用。
目前我正在使用不同的 CONTENT_URI(同步适配器使用 CONTENT_URI_NO_SYNC 访问数据,客户端应用程序使用 CONTENT_URI)能够区分这两种访问类型并相应地设置网络同步标志。