我已经能够成功地针对ContentProvider(在我的例子中是ContactsProvider)注册ContentObserver,并在发生更改时成功重新查询。
但如果我的应用正在观看联系人并且联系人应用正在进行导入,则会触发多个重叠的onChange调用。
处理此问题的正确方法是什么?
我最初的想法是在查询中间设置一个标志,并计算调用次数。如果在异步查询结束时,计数不为零,则只需再次查询。但我不确定我是不是会错过任何东西,或者引发太多的电话。
有什么建议吗?
答案 0 :(得分:0)
这听起来可行,假设您在后台线程中执行查询以避免减慢主UI线程的速度。
执行此类操作的标准方法是使用Loader。有一个nice series of articles更详细地描述了这种相对较新的方法以及为什么它被发明了。