Допустим у меня есть этот UriMatcher (находится здесь: http://developer.android.com/reference/android/content/UriMatcher.html):Андроида ContentProvider Uri изменения уведомления Схема
sURIMatcher.addURI("contacts", "people", PEOPLE);
sURIMatcher.addURI("contacts", "people/#", PEOPLE_ID);
sURIMatcher.addURI("contacts", "people/#/phones", PEOPLE_PHONES);
sURIMatcher.addURI("contacts", "people/#/phones/#", PEOPLE_PHONES_ID);
sURIMatcher.addURI("contacts", "people/#/phones/special", SPECIAL);
sURIMatcher.addURI("contacts", "phones", PHONES);
sURIMatcher.addURI("contacts", "phones/#", PHONES_ID);
У меня есть обычный ContentProvider:
@Override
public Cursor query(Uri uri...){
cursor.setNotificationUri(getContext().getContentResolver(), uri);
}
@Override
public int update(Uri uri...){
getContext().getContentResolver().notifyChange(uri, null);
}
проблема, когда я обновляю что-то с этим Uri: phones/<id>
, я хочу, чтобы эти Uri: people/<peopleId>/phones
, people/<peopleId>/phones/<id>
и people/<peopleId>/phones/special
, чтобы также получать уведомления об изменениях!
Я сделал несколько тестов, и это не так ... Я не знаю, что делать ... Большое спасибо.
, чтобы вы знали ID, не так ли? затем на основе этой ID-конструкции 'Uri' вы хотите и назовите 'notifyChange' с ними – pskink
Да, я знаю ID телефона, но не идентификатор людей ... – VohadsA
Я вообще не понимаю, так что ури типа 'people//phones' вы хотите уведомить? все 'люди/*'? или все «люди/*/телефоны»? –
pskink