J'essaie de lier en profondeur mon application et j'ai mis en œuvre les éléments suivants dans mon AndroidManifest.xml pour ouvrir l'activité appropriée.
<activity
Android:name=".ui.activities.MyActivity"
Android:label="@string/title_activity"
Android:screenOrientation="portrait">
<!-- ATTENTION: This intent was auto-generated. Follow instructions at
https://g.co/AppIndexing/AndroidStudio to publish your Android app deep links. -->
<intent-filter>
<action Android:name="Android.intent.action.VIEW" />
<category Android:name="Android.intent.category.DEFAULT" />
<category Android:name="Android.intent.category.BROWSABLE" />
<!-- ATTENTION: This data URL was auto-generated. We recommend that you use the HTTP scheme.
TODO: Change the Host or pathPrefix as necessary. -->
<data
Android:Host="myHost"
Android:scheme="myCustomScheme" />
</intent-filter>
</activity>
Et je teste l'activité d'AdB en utilisant
adb Shell am start -W -a Android.intent.action.VIEW -d "myCustomScheme://myHost?key=category_parent_id&value=92&title=test" com.myApp.Android
L'activité est en cours d'ouverture mais l'URI qui est transmis à l'activité dans l'intention est uniquement
myCustomScheme://myHost?key=category_parent_id
Son saute tout après "&"
J'ai cherché ici sur SO mais je n'ai rien trouvé avec plusieurs paramètres de requête.
Ajoutez simplement \
avant &
signe lors du test avec adb.
Copiez ceci:
adb Shell am start -W -a Android.intent.action.VIEW -d "myCustomScheme://myHost?key=category_parent_id\&value=92\&title=test" com.myApp.Android
Vous pouvez encapsuler la commande Shell avec des guillemets simples (pour éviter de modifier le contenu de l'URI):
adb Shell 'am start -d "myCustomScheme://myHost?key=category_parent_id&value=92&title=test"'
Pour les utilisateurs d'osx/mac avec Android studio
Charger adb
export PATH="/Users/your_user/Library/Android/sdk/platform-tools":$PATH
Vérifiez que l'application est reconnue
adb Shell am start -n com.package/.activities_package_name.MainActivity
Test de lien profond
adb Shell 'am start -W -a Android.intent.action.VIEW -d "myCustomScheme://myHost?key=category_parent_id\&value=92\&title=test" com.myApp.Android'
N'oubliez pas le ''