UriMatcher 构造函数中的代码参数是什么意思?
What does code Parameter in UriMatcher constructor mean?
UriMatcher(int code) 构造函数中的代码参数根据 Android Developer Document 用于 "match for the root URI" 并且代码通常为 NO_MATCH
其值等于 -1
我不清楚这个答案为什么要将此值和 getType 方法中的 uri 与 addUri 方法中的 uri 匹配?
当使用既不包含权限也不包含路径的 Uri
调用时,match()
返回您提供给构造函数 UriMatcher
的整数代码。
这演示了行为:
UriMatcher m = new UriMatcher(999);
m.addURI("com.example", "pathsegment", 11);
//found; code= 11
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content://com.example/pathsegment"))));
//not found; code= -1
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content://com.example/xxxxxx"))));
//root; code= 999
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content:"))));
//root; code= 999
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse(""))));
UriMatcher(int code) 构造函数中的代码参数根据 Android Developer Document 用于 "match for the root URI" 并且代码通常为 NO_MATCH 其值等于 -1
我不清楚这个答案为什么要将此值和 getType 方法中的 uri 与 addUri 方法中的 uri 匹配?
当使用既不包含权限也不包含路径的 Uri
调用时,match()
返回您提供给构造函数 UriMatcher
的整数代码。
这演示了行为:
UriMatcher m = new UriMatcher(999);
m.addURI("com.example", "pathsegment", 11);
//found; code= 11
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content://com.example/pathsegment"))));
//not found; code= -1
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content://com.example/xxxxxx"))));
//root; code= 999
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse("content:"))));
//root; code= 999
Log.i("Test", String.format("Match code= %d", m.match(Uri.parse(""))));