如何匹配 Android 4.3 中内容 URI 的根目录



当有人点击我的 ContentProvider 的根目录时,我想返回一些结果,到目前为止它一直运行良好。但是,从Android 4.3开始,我无法匹配根!这是我尝试过的所有方法,没有任何效果。这在 4.3 下返回 -1,但在早期版本下不返回。

如何匹配该 URI?

private int testMatch(){
    UriMatcher mUriMatcher = new UriMatcher(0);
    mUriMatcher.addURI("com.someone.app.provider.thingy", "/#", 0);
    mUriMatcher.addURI("com.someone.app.provider.thingy", "/", 1);
    mUriMatcher.addURI("com.someone.app.provider.thingy", "", 2);
    mUriMatcher.addURI("com.someone.app.provider.thingy", "/*", 3);
    mUriMatcher.addURI("com.someone.app.provider.thingy", "#", 4);
    mUriMatcher.addURI("com.someone.app.provider.thingy", "*", 5);
    mUriMatcher.addURI("com.someone.app.provider", "thingy", 6);
    Uri uri=Uri.parse("content://com.someone.app.provider.thingy");
    return mUriMatcher.match(uri);
}

从文档中,传递给UriMatcher构造函数的值用于匹配根路径,但在代码中,相同的值 ( 0 ) 被路径/#覆盖。

尝试以下代码以查看是否可以匹配根路径:

UriMatcher mUriMatcher = new UriMatcher(0);
Uri uri=Uri.parse("content://com.someone.app.provider.thingy");
return mUriMatcher.match(uri);
它在 4.3

之前工作的原因可能是由于 4.3 接受领先/

相关内容

  • 没有找到相关文章