我的活动中有以下代码:
Cursor mCursor = managedQuery(ActivityColumns.CONTENT_URI, PROJECTION, null, null,
getSortOrderStringFromSpinner());
mCursor.registerContentObserver(new ContentObserver(new Handler())
{
@Override
public void onChange(boolean selfChange)
{
...snip...// breakpoint is set here
}
@Override
public boolean deliverSelfNotifications()
{
return true;
}
});
...在我用来获取数据的 DataProvider 中,我将查询方法中的通知 URI 设置为我要查询的类型的 uri:
c.setNotificationUri(getContext().getContentResolver(), uri);
最后,在更新、插入和删除中,如果操作成功,则通知订阅者:
getContext().getContentResolver().notifyChange(notificationUri, null);
上面一行中的 notificationUri 是正在插入/更新或删除的项目的 URI。
在“...snip...”代码行设置断点后,我添加、删除和更新了一些记录。我只会收到有关删除的通知,而不是更新或插入的通知。我究竟做错了什么?