Purtroppo non è possibile escludere alcun URL, poiché Android non fornisce tale opzione.
La procedura consigliata è quella di fornire come pathPrefix il più preciso possibile.
Specificare solo l'host senza pathPrefix è OK, a condizione che tutte le azioni eseguite dall'applicazione abbiano senso. Ma se c'è un collegamento che dovrebbe fare qualcosa di specifico mentre l'applicazione non può gestire, allora dovrebbe permettere al servizio web di gestirlo correttamente. In questo caso, la whitelist non è una buona idea, se il tuo servizio web può fare più della tua applicazione.
Ad alcune persone piace associare solo l'host in manifest, quindi gestire diversi casi nel codice. Non si sa mai quale url inaspettato possa essere catturato, se davvero ha senso a gestirlo con la condizione di "altro". Meglio, fallo con attenzione, elenca solo il pathPrefix di cui siamo sicuri.
Torna al tuo caso, il più delle volte, credo che l'applicazione sia in grado di gestire l'url se è solo diverso nel parametro di query. Perché appartiene alla stessa azione (dal gestore di percorsi API), solo risultati diversi. Solo quando l'intero routing è diverso, dovresti trattarlo diversamente dando il giusto PathPrefix.
Così il valido esempio potrebbe essere:
// To handle:
http://myhost.com/v/login1?id=123&name=abc&type=a
// To exclude:
http://myhost.com/v/login2?id=123&name=abc&type=a
Poi nel AndroidManifest.xml:
<data android:scheme="http"
android:host="myhost.com"
android:pathPrefix="/v/login1" />
Nota: Nel caso in cui si inciampa su noindex.xml, cioè per l'indicizzazione delle app, non per profonda collegamento di esclusione.
Questo non funziona su Android 6. I queryIntentActivities() restituiscono solo 1 attività (la mia app) – NghiaDao