Android:数据变化时如何接收Content Provider的回调?

the*_*tor 5 android

假设我有 3 个活动 Activity,可以显示数据并将数据添加到 ContentProvider。同步活动之间状态的最佳方式是什么?例如,如果 ActivityA 向 ContentProvider 添加新记录,我希望 ActivityB 和 ActivityC 接收通知,以便他们可以更新其视图。

esc*_*llc 4

使用ContentResolver.registerContentObserver()每个活动中的方法,并提供适当的 URI。

您可以传递提供者的基本内容 URI,并传递true参数notifyForDescendents,每次发生更改时您的回调都会被触发。

您正在访问的内容提供商必须支持这一点(大多数都支持)。如果您自己编写,则必须ContentResolver.notifyChange()使用修改行的 URI 进行调用。