Added in API level 1

ContentObserver

public abstract class ContentObserver
extends Object

java.lang.Object
   ↳ android.database.ContentObserver


Receives call backs for changes to content. Must be implemented by objects which are added to a ContentObservable.

Summary

Public constructors

ContentObserver(Handler handler)

Creates a content observer.

Public methods

boolean deliverSelfNotifications()

Returns true if this observer is interested receiving self-change notifications.

final void dispatchChange(boolean selfChange)

This method was deprecated in API level 16. Callers should migrate towards using a richer overload that provides more details about the change, such as dispatchChange(boolean, java.util.Collection, int).

final void dispatchChange(boolean selfChange, Uri uri)

Dispatches a change notification to the observer.

final void dispatchChange(boolean selfChange, Uri uri, int flags)

Dispatches a change notification to the observer.

final void dispatchChange(boolean selfChange, Collection<Uri> uris, int flags)

Dispatches a change notification to the observer.

void onChange(boolean selfChange, Uri uri, int flags)

This method is called when a content change occurs.

void onChange(boolean selfChange)

This method is called when a content change occurs.

void onChange(boolean selfChange, Uri uri)

This method is called when a content change occurs.

void onChange(boolean selfChange, Collection<Uri> uris, int flags)

This method is called when a content change occurs.

Inherited methods

Public constructors

ContentObserver

Added in API level 1
public ContentObserver (Handler handler)

Creates a content observer.

Parameters
handler Handler: The handler to run onChange(boolean) on, or null if none.

Public methods

deliverSelfNotifications

Added in API level 1
public boolean deliverSelfNotifications ()

Returns true if this observer is interested receiving self-change notifications. Subclasses should override this method to indicate whether the observer is interested in receiving notifications for changes that it made to the content itself.

Returns
boolean True if self-change notifications should be delivered to the observer.

dispatchChange

Added in API level 1
Deprecated in API level 16
public final void dispatchChange (boolean selfChange)

This method was deprecated in API level 16.
Callers should migrate towards using a richer overload that provides more details about the change, such as dispatchChange(boolean, java.util.Collection, int).

Dispatches a change notification to the observer.

If a Handler was supplied to the ContentObserver constructor, then a call to the onChange(boolean) method is posted to the handler's message queue. Otherwise, the onChange(boolean) method is invoked immediately on this thread.

Parameters
selfChange boolean

dispatchChange

Added in API level 16
public final void dispatchChange (boolean selfChange, 
                Uri uri)

Dispatches a change notification to the observer. Includes the changed content Uri when available.

If a Handler was supplied to the ContentObserver constructor, then a call to the onChange(boolean) method is posted to the handler's message queue. Otherwise, the onChange(boolean) method is invoked immediately on this thread.

Parameters
selfChange boolean: True if this is a self-change notification.

uri Uri: The Uri of the changed content. This value may be null.

dispatchChange

Added in API level 30
public final void dispatchChange (boolean selfChange, 
                Uri uri, 
                int flags)

Dispatches a change notification to the observer. Includes the changed content Uri when available.

If a Handler was supplied to the ContentObserver constructor, then a call to the onChange(boolean) method is posted to the handler's message queue. Otherwise, the onChange(boolean) method is invoked immediately on this thread.

Parameters
selfChange boolean: True if this is a self-change notification.

uri Uri: The Uri of the changed content. This value may be null.

flags int: Flags indicating details about this change. Value is either 0 or a combination of ContentResolver.NOTIFY_SYNC_TO_NETWORK, ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS, ContentResolver.NOTIFY_INSERT, ContentResolver.NOTIFY_UPDATE, and ContentResolver.NOTIFY_DELETE

dispatchChange

Added in API level 30
public final void dispatchChange (boolean selfChange, 
                Collection<Uri> uris, 
                int flags)

Dispatches a change notification to the observer. Includes the changed content Uris when available.

If a Handler was supplied to the ContentObserver constructor, then a call to the onChange(boolean) method is posted to the handler's message queue. Otherwise, the onChange(boolean) method is invoked immediately on this thread.

Parameters
selfChange boolean: True if this is a self-change notification.

uris Collection: The Uri of the changed content. This value cannot be null.

flags int: Flags indicating details about this change. Value is either 0 or a combination of ContentResolver.NOTIFY_SYNC_TO_NETWORK, ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS, ContentResolver.NOTIFY_INSERT, ContentResolver.NOTIFY_UPDATE, and ContentResolver.NOTIFY_DELETE

onChange

Added in API level 30
public void onChange (boolean selfChange, 
                Uri uri, 
                int flags)

This method is called when a content change occurs. Includes the changed content Uri when available.

Subclasses should override this method to handle content changes. To ensure correct operation on older versions of the framework that did not provide richer arguments, applications should implement all overloads.

Parameters
selfChange boolean: True if this is a self-change notification.

uri Uri: The Uri of the changed content. This value may be null.

flags int: Flags indicating details about this change. Value is either 0 or a combination of ContentResolver.NOTIFY_SYNC_TO_NETWORK, ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS, ContentResolver.NOTIFY_INSERT, ContentResolver.NOTIFY_UPDATE, and ContentResolver.NOTIFY_DELETE

onChange

Added in API level 1
public void onChange (boolean selfChange)

This method is called when a content change occurs.

Subclasses should override this method to handle content changes.

Parameters
selfChange boolean: True if this is a self-change notification.

onChange

Added in API level 16
public void onChange (boolean selfChange, 
                Uri uri)

This method is called when a content change occurs. Includes the changed content Uri when available.

Subclasses should override this method to handle content changes. To ensure correct operation on older versions of the framework that did not provide richer arguments, applications should implement all overloads.

Example implementation:


 // Implement the onChange(boolean) method to delegate the change notification to
 // the onChange(boolean, Uri) method to ensure correct operation on older versions
 // of the framework that did not have the onChange(boolean, Uri) method.
 @Override
 public void onChange(boolean selfChange) {
     onChange(selfChange, null);
 }

 // Implement the onChange(boolean, Uri) method to take advantage of the new Uri argument.
 @Override
 public void onChange(boolean selfChange, Uri uri) {
     // Handle change.
 }
 

Parameters
selfChange boolean: True if this is a self-change notification.

uri Uri: The Uri of the changed content. This value may be null.

onChange

Added in API level 30
public void onChange (boolean selfChange, 
                Collection<Uri> uris, 
                int flags)

This method is called when a content change occurs. Includes the changed content Uris when available.

Subclasses should override this method to handle content changes. To ensure correct operation on older versions of the framework that did not provide richer arguments, applications should implement all overloads.

Parameters
selfChange boolean: True if this is a self-change notification.

uris Collection: The Uris of the changed content. This value cannot be null.

flags int: Flags indicating details about this change. Value is either 0 or a combination of ContentResolver.NOTIFY_SYNC_TO_NETWORK, ContentResolver.NOTIFY_SKIP_NOTIFY_FOR_DESCENDANTS, ContentResolver.NOTIFY_INSERT, ContentResolver.NOTIFY_UPDATE, and ContentResolver.NOTIFY_DELETE