I am using UriMatcher and ContentProvider.
uriMatcher.addURI(DbContract.CONTENT_AUTHORITY, DbContract.PATH_CUSTOM_FIELDS + "/" + DbContract.PATH_DOMAIN + "/*", CUSTOM_FIELDS_DOMAIN);
uriMatcher.addURI(DbContract.CONTENT_AUTHORITY, DbContract.PATH_CUSTOM_FIELDS + "/" + DbContract.PATH_DOMAIN + "/" + DbContract.PATH_FORM + "/*/#", CUSTOM_FIELDS_DOMAIN_FORM);
All constants above are :-
DbContract.CONTENT_AUTHORITY = "com.ankiraw";
DbContract.PATH_CUSTOM_FIELDS = custom_fields
DbContract.PATH_DOMAIN = domain
DbContract.PATH_FORM = form
CUSTOM_FIELDS_DOMAIN_FORM = 100
I am passing uri
content://com.ankiraw/custom_fields/domain/form/ankiraw/38
to
uriMatcher.match(uri)
method as following :-
switch (uriMatcher.match(uri)) {
case CUSTOM_FIELDS_DOMAIN_FORM:
// some code here
break;
default:
throw new IllegalArgumentException("Cannot query unknown URI " + uri); }
But it is not matching. Going to default case.