Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Does ContentResolver notifyChange method notifies also detail Uri's?

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?

like image 498
pixel Avatar asked Dec 06 '11 08:12

pixel


1 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.


like image 80
thaussma Avatar answered Oct 13 '22 19:10

thaussma