2015-07-31 3 views
5

मैंने अपने एंड्रॉइड ऐप पर गहरी लिंकिंग सक्षम की है और यह ठीक काम कर रहा है।किसी विशेष पथ पर डिफ्लिंक इरादा फ़िल्टर Prefix?

हालांकि, मैं इरादे-फ़िल्टर को किसी विशेष pathPrefix को सुनने के लिए केवल http(s)://(www.)mydomain.com/e और कोई अन्य pathPrefix नहीं सुनना चाहता हूं।

क्या यह संभव है? मैं AndroidManifest.xml

<intent-filter android:label="My App Name"> 
<action android:name="android.intent.action.VIEW" /> 
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="http" 
       android:host="www.domain.com" 
       android:pathPrefix="/e" /> 
      <data android:scheme="http" 
       android:host="mydomain.com" 
       android:pathPrefix="/e" /> 
      <data android:scheme="https" 
       android:host="www.mydomain.com" 
       android:pathPrefix="/e" /> 
      <data android:scheme="https" 
       android:host="mydomain.com" 
       android:pathPrefix="/e" /> 
</intent-filter> 

उत्तर

2
प्रकट के उस टुकड़े के साथ

में अपने इरादे फिल्टर कोड संलग्न कर रहा हूँ, आप गतिविधि है कि सभी यूआरएल है

    साथ कि लक्ष्य फ़िल्टर शामिल शुरू करने के लिए अपने डिवाइस के लिए कह रहे हैं
  1. http या https के रूप में प्रोटोकॉल
  2. www.mydomain.com या mydomain.com मेजबान के रूप में
  3. /ई पथ के उपसर्ग के रूप में

चूंकि प्रश्न pathPrefix से संबंधित है, इसलिए आपकी गतिविधि उन सभी यूआरएल को संभाल लेगी जिनके पथ में शुरुआत में ए/ई है।

  • http (s): उदाहरण के लिए: // (www।) Mydomain.com/e - मैच
  • http (s): (www।) // mydomain.com/eXXX - मैच
  • http (s): // (www।) mydomain.com/e/a - मैच
  • http (s): (www।) // mydomain.com/eXXX/a - मैच
  • http (s): // (www।) mydomain.com/e?a=b - MATCH
  • http: // (www।) mydomain.com/Xe - MATCH
  • http (ओं) : // (www।) mydomain.com/X/e?a=b - डीओ मेल नहीं खाता
+0

मैं भी इस समाधान का सुझाव दूंगा, यह मेरा पहला इरादा था। –

0

के बाद से कोड आपके द्वारा चिपकाया कि pathPrefix के लिए अच्छा है, मैं तुम्हें केवल http(s)://(www.)mydomain.com/e और कुछ नहीं पकड़ने के लिए चाहते हैं अनुमान लगा रहा हूँ?
यदि ऐसा है, तो के बजाय path का उपयोग करें।

<intent-filter android:label="My App Name"> 
<action android:name="android.intent.action.VIEW" /> 
<category android:name="android.intent.category.DEFAULT" /> 
<category android:name="android.intent.category.BROWSABLE" /> 
      <data android:scheme="http" 
       android:host="www.domain.com" 
       android:path="/e" /> 
      <data android:scheme="http" 
       android:host="mydomain.com" 
       android:path="/e" /> 
      <data android:scheme="https" 
       android:host="www.mydomain.com" 
       android:path="/e" /> 
      <data android:scheme="https" 
       android:host="mydomain.com" 
       android:path="/e" /> 
</intent-filter> 
संबंधित मुद्दे