Android中的URI匹配器问题

我有一个权限字符串定义如下:

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);

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...