Может ли UriMatcher сопоставлять пользовательские ссылки http? - PullRequest
1 голос
/ 17 ноября 2010

Я хотел бы использовать UriMatcher для сопоставления пользовательских http-ссылок.

У меня есть следующий код:

UriMatcher mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
mUriMatcher.addURI("myLink", "http://a.b.c/?id=", 1);
mUriMatcher.addURI("myLink", "http://d.e.f/?id=", 2);
int match = mUriMatcher.match(Uri.parse("http://a.b.c/?id=123"));

Но я всегда получаю «-1» в результате матча ...

1 Ответ

4 голосов
/ 03 марта 2011

UriMatcher соответствует Uris в форме:

scheme://<authority>/<path>

Игнорируется строка запроса (что-либо после? В URL)1007 *

Таким образом, в приведенном выше простом примере вы не можете различить один и тот же URL со строкой запроса или без нее, но вы можете сопоставить имя домена.Использование:

mUriMatcher.addURI('a.b.c', '/', 1);
mUriMatcher.addURI('d.e.f', '/', 2);

Вы можете использовать UrlQuerySanitizer в каждом обработчике совпадений, чтобы решить, присутствуют ли в запросе нужные вам вещи или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...