android - Android 中 URI 匹配器的问题

标签 android uri provider

我有一个这样定义的权限字符串:

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 的也是一样的! [让我发疯]。如果你先定义了 */匹配,那似乎匹配并阻止其他人匹配。 顺序很重要!!

我重新排序,'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 - Android 中 URI 匹配器的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4719192/

相关文章:

java - 如何在单击按钮播放 Jfugue 时调用 Java 类

java - uriBuilder 返回 http :/instead of http://

java - 带有特殊字符的 URI.getHost()

具有 videoview 的 Android Scrollview 出现问题

java - 如何显示 fragment 中相机看到的内容?

java - 如何使用 NIO 创建当前工作目录上一级文件夹的 zip 文件?

java - 对 sun.security.pkcs11.SunPKCS11 的访问限制

asp.net-mvc - 为 ASP.NET MVC 实现自动登录

ruby-on-rails-3 - 在 Oauth 中使用两个 twitter 应用程序,以便我可以有两个单独的回调

android - 在 Android 的第二个项目中添加 .so 库