Je développe une application Android qui nécessite un lien profond avec un tag NFC.Lien profond dans l'application (activité spécifique) par tag NFC
Ici vous pouvez voir mon filtre intention de l'activité:
<activity
android:name=".ui.schedule.ScheduleActivity"
android:parentActivityName=".ui.home.HomeActivity">
<intent-filter android:label="testDeepLink">
<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.testdeeplink.com"
android:pathPrefix="/schedule"/>
</intent-filter>
</activity>
Maintenant, quand je commence cette commande dans AdB l'application commence par l'activité correcte (ScheduleActivity):
adb shell am start -W -a android.intent.action.VIEW -d "http://www.testdeeplink.com/schedule?stop_id=1" com.exmemple.android
Mais quand Je code l'URL sur une balise NFC, en scannant cette balise commence juste le navigateur web de mon téléphone. Qu'est-ce qui me manque pour commencer l'activité avec le tag NFC?
URL codées sur l'étiquette: « http://www.testdeeplink.com/schedule?stop_id=1 »
Merci, votre solution fonctionne mais pour être sûr que le navigateur ne détourne pas l'intention j'ai utilisé une URL spécifique à la place, quelque chose comme: "testdeeplink: // schedule? Stop_id = 1" Et maintenant, il fonctionne –
@ Sagonnicolas Ouais, en utilisant votre propre schéma empêchera certainement le lien d'être traité par le navigateur. Une alternative serait d'ajouter un enregistrement d'application Android (AAR) pour votre application * après votre enregistrement d'URL * sur l'étiquette. Cela permettra également à un appareil d'ouvrir votre application dans Play Store si l'application n'est pas installée sur l'appareil. –