Home » Android » android – Does ContentResolver notifyChange method notifies also detail Uri's?

android – Does ContentResolver notifyChange method notifies also detail Uri's?

Posted by: admin June 15, 2020 Leave a comment

Questions:

During applying data I use notifyChange with an Uri.

Let’s say I notify content://com.package.my/items.

I have also detail Activity that displays data from content://com.package.my/items/1.

Does notifying ‘general’ Uri results also in ‘detail’ Uri being notified?

How to&Answers:

The method notifyChange sends a notification for the detailed URI.
But if you register a ContentObserver at ContentResolver.registerContentObserver(Uri uri, boolean notifyForDescendents, ContentObserver observer) you can register a base Uri to be notified if any descendant Uri has been changed (is used to send change notification).

I assume you have a ContentProvider and that you query a Cursor from that ContentProvider through a ContentResolver. If you set the notification URI on the Cursor that you return in the ContentProvider.query() method, your CursorAdapter will automatically update the view if the notification URI or any of its descendants change (see source of Cursor). If you change the data with you ContentProvider be sure to send a notification in update,insert,delete of your ContentProvider.