2013-06-23 35 views
4

我有這樣的URI的Android URIMatcher問題

content://com.mycompany.data/routes?group=M01&office=BOCE&zone=EC01 

而且這個規則

sUriMatcher.addURI("com.mycompany.data", "routes" + "?group=*&office=*&zone=*", ROUTE_LIST); 

然而在sUriMatcher選擇進入默認的情況下(有線拋出一個異常)。任何想法爲什麼模式不匹配? (是的,ROUTE_LIST是在選擇的情況下,它有各自的中斷)

回答

6

UriMatcher忽略查詢字符串(在Uri後的任何內容)。如果你想使用這個類,你的內容提供者必須在斜線之間處理參數。例如:

sUriMatcher.addURI("com.mycompany.data", "group/*", ...); 
sUriMatcher.addURI("com.mycompany.data", "office/*", ...); 
sUriMatcher.addURI("com.mycompany.data", "group/*/office/*", ...); 
+1

非常感謝。想知道爲什麼這個事實不在官方文檔中。 – Machinarius

+1

是否意味着我不能在我的內容提供者中使用(包含查詢的URI)並且在UriMatcher中不可能匹配這種類型的uris? –

+0

因此UriMatchers不支持多個查詢參數? – Talha