Symptoom
Op Android 11 of nieuwer kan je app geen verbinding maken met de betaalapplicatie. Verzoeken leveren geen reactie en geen foutmelding op — de binding wordt simpelweg nooit gevormd. Op Android 10 en lager werkt dezelfde code wel, wat dit doet lijken op een apparaat-specifieke bug.
Oorzaak
Android 11 introduceerde pakketzichtbaarheid: standaard kan een app andere apps die op het apparaat zijn geïnstalleerd niet zien of ermee verbinden. App2App verbindt met de Market Pay betaalapplicatie, dus die app moet expliciet worden gedeclareerd. Zonder deze declaratie is het binddoel onzichtbaar en mislukt de verbinding stilletjes.
Oplossing
Voeg een <queries>-element toe aan je AndroidManifest.xml, als directe kind van <manifest>:
<queries>
<package android:name="com.marketpay.pos" />
</queries>
Herbouw en installeer opnieuw. De IPC-binding zal nu gevormd worden op Android 11+.
Controleren
Na het toevoegen, stuur een loginverzoek — een succesvolle RetailerLoginResponse bevestigt dat de binding werkt. Als login nog steeds niets oplevert, controleer dan of er daadwerkelijk een sessie wordt opgezet (zie Sessie- en loginlevenscyclus) en dat de betaalapplicatie op het apparaat is geïnstalleerd.
Gerelateerd
- Quickstart — stap 2 behandelt deze declaratie.
- Probleemoplossing: verzoeken worden genegeerd / geen reactie — de andere oorzaak van "er komt niets terug."