我正在使用我的查询参数ContentProvider
,允许我在请求来自同步适配器时通知它,以便它可以执行诸如确保不触发同步到网络之类的事情。我正在使用 aCursorLoader
将LoaderManager
a 附加Cursor
到 aCursorAdapter
中ListView
- 基础知识。正在提供的数据库通过 Sync Adapter 进行更新,因此通知将使用 Sync Adapter 使用的 URI(带有附加查询参数的那个)。当我在重置加载程序之前让同步适配器完成时,我会在 中获得适当的数据ListView
,但是如果我在某些数据仍在同步时尝试重置加载程序,我会得到当时数据库中的内容并且没有通知数据下载完成后重置。
我还没有找到任何关于查询参数是否会影响谁收到通知的答案ContentResolver.notifyChange(Uri, ContentObserver, boolean)
。所以我正在尝试解决这个问题,但如果有人能在我弄清楚之前回答这个问题,那将不胜感激。需要明确的ContentProvider
是,cursor.setNotificationUri(getContext().getContentResolver(), uri)
当请求者不是ContentProvider.query(...)
. getContext().getContentResolver().notifyChange(uri, null, false)
当请求者是ContentProvider.insert/update/delete/bulkInsert(...)
使用触发请求的 URI的同步适配器时,它会调用。