2012-03-18 6 views
9

साथ सिर्फ विशिष्ट URL फिल्टर करने के लिए मैं विशिष्ट URL फ़िल्टर करना चाहते हैं: http://gaapa.cz/mobile/ *कैसे लक्ष्य फ़िल्टर

लेकिन इस फिल्टर हर यूआरएल पर निकाल दिया जाता है - ehta की है कि के साथ गलत?

<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> 

उत्तर

10

आप उपयोग पथ या तो, pathPrefix, या pathPattern करना चाहते हैं, के अनुसार,

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

आपके मामले में, ई ither pathPattern या pathPrefix काम करेंगे,

pathPattern="mobile/*" 

या

pathPrefix="mobile" 

हालांकि, यही कारण है कि अपने फ़िल्टर सभी यूआरआई मिलान किया जाता है की व्याख्या नहीं करता। यह किसी से मेल नहीं होना चाहिए क्योंकि पथ "*" को समझ में नहीं आता है। मुझे संदेह है कि आपके कोड में कहीं और कुछ जोड़ा/गायब है।

+1

मेरे इरादे फ़िल्टर में से एक मेजबान गायब था इसलिए पथ को अनदेखा किया गया था – Hurda

+0

यदि मैं निम्नलिखित यूआरएल के लिए फ़िल्टर बनाना चाहता हूं तो क्या होता है: http://gaapa.cz/#/aaa मैंने पथप्रिक्स या पथ पैटर्न को बदलने की कोशिश की "/ #/*" या "# /" और यह काम नहीं किया – gaara87

+0

हैश एक आरक्षित चरित्र है। यदि आप इसे किसी यूआरएल में इस्तेमाल करना चाहते हैं तो आपको इसे एन्कोड करने की आवश्यकता है (% 23)। –

1

यह काम करना चाहिए:

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

हम्म ... एंड्रॉइड: पथ = "मोबाइल" काम नहीं करेगा क्योंकि इसे एक अग्रणी "/" की आवश्यकता है। उदाहरण: एंड्रॉइड: पथ = "/ मोबाइल"। –

2

इस प्रयास करें:

<data android:host="gaapa.cz" 
     android:pathprefix="mobile/" 
     android:scheme="http" /> 
संबंधित मुद्दे