Cuando se llama a ContentResolver.notifyChange () para un URI determinado, ContentObservers observa los URI descendientes de este URI notificados?
Una pregunta esperanzadamente directa: Cuando se llama a ContentResolver.notifyChange()
para un URI dado, ContentObserver
está observando los URI descendientes de este URI notificados?
Por ejemplo, diga que tengo una configuración de cursor para observar el URI de un recurso específico:
- Android ContentObserver: cómo detectar el nuevo contacto añadido en la lista de contactos de Android?
- Cómo escuchar el contacto insertado / actualizado / eliminado en la libreta de direcciones
- Contactos ContentObserver llamado aleatoriamente
- Android evento onChange no se activa en contentObserver para la historia de cromo en android 5 (Lollypop)
- El método onChange de Content Observer se disparó varias veces
Uri uriA = Uri.parse("content://" + AUTHORITY + "/orders/21"); cursor.setNotificationUri(getContext().getContentResolver(), uriA);
A continuación, notificar el ContentResolver
de un cambio a un antepasado de este URI (por ejemplo, porque he eliminado todas las órdenes):
Uri uriB = Uri.parse("content://" + AUTHORITY + "/orders"); getContext().getContentResolver().notifyChange(uriB, null);
¿Se notificaría mi Cursor
, registrado para observar la uriA
?
- Android: el método "onChange ()" del observador de contenido se llama varias veces
- Buscar contactos con la aplicación instalada
- ¿Cómo hago que mi Android ContentObserver para ContactsContract detecte un contacto añadido, actualizado o eliminado?
- Observación de cambios en el observador de contenido android de Audio.Media.EXTERNAL_CONTENT_URI
- NotifyChange con uri modificado de contentProvider.update ()
- El método ContentObserver onChange () se llama muchas veces
- El observador SMS enviado se ejecuta 3 veces
- Bloquear SMS salientes por contentObserver
Depende de cómo se registró. Si el ContentObserver
se registró con el argumento notifyForDescendents
establecido como true, entonces sí. De lo contrario no.
El registro se realiza a través del método ContentResolver#registerContentObserver
:
void registerContentObserver (Uri uri, boolean notifyForDescendents, ContentObserver observer)
Después de probarlo, respuesta simple: sí.