2012-03-18 34 views
9

Tôi muốn lọc URL cụ thể: http://gaapa.cz/mobile/ *Làm thế nào để lọc chỉ URL cụ thể với bộ lọc ý định

Nhưng bộ lọc này là bắn trên tất cả các URL - ehta của sai với điều đó?

<intent-filter> 
      <action android:name="android.intent.action.VIEW" /> 

      <category android:name="android.intent.category.DEFAULT" /> 
      <category android:name="android.intent.category.BROWSABLE" /> 

      <data 
       android:host="gaapa.cz" 
       android:path="/mobile/.*" 
       android:scheme="http" /> 
</intent-filter> 

Trả lời

10

Bạn muốn hoặc sử dụng con đường, pathPrefix, hoặc pathPattern, theo,

http://developer.android.com/guide/topics/manifest/data-element.html#path 

Trong trường hợp của bạn, e ither pathPattern hoặc pathPrefix sẽ làm việc,

pathPattern="mobile/*" 

hoặc

pathPrefix="mobile" 

Tuy nhiên, điều đó không giải thích lý do tại sao bộ lọc của bạn là phù hợp với tất cả các URI. nó phải khớp với nhau vì đường dẫn không hiểu "*". tôi nghi ngờ có một cái gì đó thêm/thiếu từ một nơi khác trong mã của bạn.

+1

Một trong những bộ lọc ý định của tôi bị thiếu máy chủ nên đường dẫn bị bỏ qua – Hurda

+0

Điều gì sẽ xảy ra nếu tôi muốn tạo bộ lọc cho url sau: http://gaapa.cz/#/aaa Tôi đã cố thay đổi pathPrefix hoặc pathPattern thành "/ #/*" hoặc "# /" và nó không hoạt động – gaara87

+0

băm là ký tự dành riêng. nếu bạn muốn sử dụng nó trong một URL, bạn cần mã hóa nó (% 23). –

1

này nên làm việc:

<data android:host="gaapa.cz" 
     android:path="mobile" 
     android:pathPattern="*" 
     android:scheme="http" /> 
+0

Hmm ... android: path = "mobile" sẽ không hoạt động vì yêu cầu "/" hàng đầu. Ví dụ: android: path = "/ mobile". –

2

Hãy thử điều này:

<data android:host="gaapa.cz" 
     android:pathprefix="mobile/" 
     android:scheme="http" /> 
Các vấn đề liên quan