2015-07-31 5 views
5

Ho attivato il deep linking sulla mia app per Android e sta funzionando bene.Filtro intento Deeplink su un particolare percorsoPrefix?

Tuttavia, desidero che il filtro intent solo un determinato pathPrefix, ad esempio http(s)://(www.)mydomain.com/e e non altri pathPrefix.

È possibile? Allego il mio codice intent-filtro in 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> 

risposta

2

Con quel pezzo di manifesti, che stai dicendo al tuo dispositivo per avviare l'attività che contiene quel filtro intenti con tutte le URL che hanno

  1. http o https come protocollo di
  2. www.mydomain.com o mydomain.com come ospite
  3. /e come prefisso del percorso

Poiché la domanda è correlata a pathPrefix, l'attività gestirà tutti gli URL il cui percorso ha a/e all'inizio. Per esempio:

  • http (s): // (www.) Mydomain.com/e - Partita
  • http (s): (www.) // mydomain.com/eXXX - PARTITA
  • http (s): // (www.) mydomain.com/e/a - Partita
  • http (s): (www.) // mydomain.com/eXXX/a - Partita
  • http (s): // (www.) mydomain.com/e?a=b - MATCH
  • http (s): // (www.) miodominio.com/Xe - NON CORRISPONDENZA
  • http (s) : // (www.) miodominio.com/X/e?a=b - DO Non corrispondono
+0

Vorrei suggerire anche questa soluzione, questa era la mia prima intenzione. –

0

Dal momento che il codice incollato da voi è un bene per che pathPrefix, sto cercando di indovinare che si desidera catturare solo http(s)://(www.)mydomain.com/e e nient'altro?
In questo caso, utilizzare path anziché pathPrefix in questo modo.

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