Symptôme
Sur Android 11 ou version ultérieure, votre application ne peut pas se connecter à l'application de paiement. Les requêtes ne produisent aucune réponse et aucune erreur — la liaison ne se forme tout simplement jamais. Sur Android 10 et versions antérieures, le même code fonctionne, ce qui donne l'impression d'un bug spécifique à l'appareil.
Cause
Android 11 a introduit la visibilité des paquets : par défaut, une application ne peut pas voir ni se lier à d'autres applications installées sur l'appareil. App2App se lie à l'application de paiement Market Pay, donc cette application doit être déclarée explicitement. Sans cette déclaration, la cible de liaison est invisible et la connexion échoue silencieusement.
Correction
Ajoutez un élément <queries> à votre AndroidManifest.xml, en tant qu'enfant direct de <manifest> :
<queries>
<package android:name="com.marketpay.pos" />
</queries>
Recompilez et réinstallez. La liaison IPC se formera désormais sur Android 11+.
Vérification
Après l'avoir ajouté, envoyez une requête de connexion — une RetailerLoginResponse réussie confirme que la liaison fonctionne. Si la connexion ne produit toujours rien, vérifiez qu'une session est effectivement établie (voir Cycle de vie de la session et de la connexion) et que l'application de paiement est installée sur l'appareil.
Articles liés
- Démarrage rapide — l'étape 2 couvre cette déclaration.
- Dépannage : les requêtes sont ignorées / pas de réponse — l'autre cause de « rien ne revient ».