Будет ли содержание: //com.lily.provider/items/a/b сопоставлено с содержанием: //com.lily.provider/items/*? почему это?
Да, это будет соответствовать. Звездочка *
означает «соответствовать любому символу, включая косую черту».
Есть ли какой-нибудь обходной путь, который я мог бы использовать для решения проблемы
Если вы хотите сопоставить известные префиксы, вы можете просто добавить больше записей в ваш URI-сопоставитель (в следующем порядке):
content://com.lily.provider/items/a/*
content://com.lily.provider/items/b/*
content://com.lily.provider/items/*
Если вы настаиваете на наличии косых черт в данных, то вам следует косые черты URI-кодирования , которые не используются в качестве разделителей пути к %2f
.
В противном случае, я не уверен, в чем проблема. URI "/items/a/b
" будет соответствовать вашему исходному шаблону по желанию, а затем вы сможете проанализировать компонент пути URI по вашему желанию.