sto cercando di impostare un filtro intento di lanciare la mia attività quando l'utente fa clic sul seguente URI: example.com/pathA/pathB/#pathC/someGUID~~V~~singular~~3rdIntent Pathprefix filtro con '#' non funziona
così ho aggiunto il seguente codice XML per il file manifesto:
<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="example.com"
android:pathPrefix="/pathA/pathB/#pathC"
android:scheme="http" />
</intent-filter>
sto pensando che char i '#' è pasticciano everthing up, ma ho provato sfuggire a questa char senza fortuna. Qualche idea?
UPDATE: quando ho detto "provato a fuggire" Intendevo usando cento codifica (# è uguale a% 23)
Ciò significa che pathPattern non funzionerà neanche, giusto? –
@ user1774914 - a destra - semplicemente non sembra essere un modo di gestire un URI con un '#' in esso. Si può certamente gestire '/ pathA/pathB /' e controllare manualmente il resto dell'URI per '# pathC', ma che apparirà al sistema che si gestisce anche un URI come'/pathA/pathB/pathD' – ianhanniballake
The La cosa strana è che i documenti di Android dicono ... Perché '\' è usato come carattere di escape quando la stringa viene letta da XML (prima che sia analizzata come un pattern), sarà necessario eseguire una doppia escape: ad esempio, un letterale '*' verrebbe scritto come "\\ *" e un letterale '\' verrebbe scritto come "\\\\". Questo è fondamentalmente lo stesso di quello che avresti bisogno di scrivere se costruisci la stringa nel codice Java. – a54studio