为什么数据改变后会回调至ContentObserver ? 为什么我们自定义的ContentProvider数据源发生改变后,却没有监听到任何反应 ? 这与系统的回调系统逻辑有关。
每个ContentProvider数据源发生改变后,如果想通知其监听对象, 例如ContentObserver时,必须在其对应方法 update / insert / delete时,显式的调用this.getContentReslover().notifychange(uri , null)方法,回调监听处理逻辑。否则,我们的ContentObserver是不会监听到数据发生改变的。
具体原理,大家可以参考这篇文章: