studio query que getcontentresolver example contentresolver contentprovider content android uri android-contentprovider android-contentresolver contentobserver

android - query - getcontentresolver() insert



Cuando se llama a ContentResolver.notifyChange() para un URI determinado, ¿se notifican los ContentObservers que observan los URI descendientes de este URI? (2)

Depende de cómo se haya registrado. Si el ContentObserver se registró con el argumento notifyForDescendents establecido como verdadero, entonces sí. De otra manera no.

El registro se realiza a través del método ContentResolver#registerContentObserver :

void registerContentObserver (Uri uri, boolean notifyForDescendents, ContentObserver observer)

Una pregunta esperanzadamente sencilla: cuando se llama a ContentResolver.notifyChange() para un URI determinado, ¿se ContentObserver los URIs descendientes observadores de este URI de ContentObserver ?

Ej. Supongamos que tengo una configuración de cursor para observar la URI de un recurso específico:

Uri uriA = Uri.parse("content://" + AUTHORITY + "/orders/21"); cursor.setNotificationUri(getContext().getContentResolver(), uriA);

Luego, ContentResolver un cambio en un ancestro de este URI (por ejemplo, porque he eliminado todos los pedidos):

Uri uriB = Uri.parse("content://" + AUTHORITY + "/orders"); getContext().getContentResolver().notifyChange(uriB, null);

¿Sería notificado mi Cursor , registrado para observar la uriA ?


Después de probarlo, respuesta simple: sí.