Когда вызывается ContentResolver.notifyChange () для заданного URI, являются ContentObservers, наблюдающие последующие URI этого URI, уведомленные?

ContentResolver.notifyChange() простой вопрос: когда ContentResolver.notifyChange() вызывается для заданного URI, являются ли ContentObserver s наблюдающими URI- потомки этого URI уведомленными?

Например, скажем, у меня есть настройка курсора для просмотра URI определенного ресурса:

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

Затем я уведомляю ContentResolver об изменении предка этого URI (например, потому что я удалил все заказы):

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

uriA бы уведомлен мой Cursor , зарегистрированный для наблюдения за uriA ?

Solutions Collecting From Web of "Когда вызывается ContentResolver.notifyChange () для заданного URI, являются ContentObservers, наблюдающие последующие URI этого URI, уведомленные?"

Это зависит от того, как он был зарегистрирован. Если ContentObserver был зарегистрирован с аргументом notifyForDescendents установленным как true, тогда да. В противном случае нет.

Регистрация осуществляется с помощью метода ContentResolver#registerContentObserver :

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

После тестирования это простой ответ: да.