代码之家  ›  专栏  ›  技术社区  ›  Andrew

UriMatcher返回错误值

  •  1
  • Andrew  · 技术社区  · 14 年前

    我有两个URI。假设它们是:

    content://myprovider/messages
    content://myprovider/messages/#
    

        private static final int MESSAGES = 1;
        private static final int MESSAGES_ID = 2;
    
        private static final UriMatcher sUriMatcher;
    
        static {
            sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
            sUriMatcher.addURI("myprovider", "messages", MESSAGES);
            sUriMatcher.addURI("myprovider", "messages/#", MESSAGES_ID);
        }
    

    当我使用。。。

    content://myprovider/messages/#
    

    …Uri调用任何ContentProvider方法时,比如说insert,而我的ContentProvider方法执行。。。

    sUriMatcher.match(uri)
    

    为什么?

    1 回复  |  直到 14 年前
        1
  •  1
  •   JJD    12 年前

    如果你想得到 MESSAGES_ID ,uri的编写方式如下 content://myprovider/messages/12345 或者你必须为它添加一个模式 消息\u ID

    sUriMatcher.addURI("myprovider", "messages/*", MESSAGES_ID);