public final static String AUTHORITY = "dsndata.sds2mobile.jobprovider";
随后是UriMatcher的版本:
uriMatcher.addURI(JobMetaData.AUTHORITY, "/JobNames/*",
JOBNAME_SINGLE_URI);
传递给交换机的uri是:
content://dsndata.sds2mobile.jobprovider/JobNames/test
这会通过交换机而下降并达到默认值(抛出IllegalArgumentException).
我错过了什么吗?我搜索过,找不到任何会导致错配的因素.
解决方法:
IllegalArgumentException也遇到了同样的问题.即使那些调试Uri的人都是一样的! [逼我疯了].如果你已经定义了* / match,它似乎匹配并阻止其他人匹配.订单很重要!!
我重新排序,’external_warning_id’现在运行正常.
//putting it first as /* seems to get matched first
URL_MATCHER.addURI(AUTHORITY, TABLE_NAME.toLowerCase() + "/external_warning_id" + "/*",
EXTERNAL_WARNING_ID);
// was the first entry in static block
URL_MATCHER.addURI(AUTHORITY, TABLE_NAME.toLowerCase() + "/*", WARNING__ID);