This is an old question, but still unanswered. So I will add my answer in case people is still curious about it.
When your content provider notifies the registered observer using getContext().getContentResolver().notifyChange(URI, "your_uri");
, it asks the ContentResponder
for it. The return value from that method is the ContentObserver
that you registered with the registerContentObserver()
method of the content responder, which is what you did in the first case. However, in the second case, you registered the observer in the Cursor
using the registerContentObserver()
method of the Cursor
, so the ContentResponder
doesn't know about it.