Reputation: 7127
From this document: HCE android documentation
Service selection
When the user taps a device to an NFC reader, the Android system needs to know which HCE service the NFC reader actually wants to talk to. This is where the ISO/IEC 7816-4 specification comes in: it defines a way to select applications, centered around an Application ID (AID). An AID consists of up to 16 bytes. If you are emulating cards for an existing NFC reader infrastructure, the AIDs that those readers are looking for are typically well-known and publicly registered (for example, the AIDs of payment networks such as Visa and MasterCard).
Question:
How to get the AIDs for Visa and MasterCard for my country? Or is Visa and MasterCard using a standard ID for all countries? How to get these AIDs?
[Solved] After retrieving the AID, how to use it to launch my app? (other app might be using this AID as well)
The Android platform resolves AID conflicts depending on which category an AID belongs to. Each category may have a different conflict resolution policy. For example, for some categories (like payment) the user may be able to select a default service in the Android settings UI. For other categories, the policy may be to always ask the user which service is to be invoked in case of conflict.
Upvotes: 0
Views: 1184
Reputation: 894
This is the most comprehensive list of Payment AIDs I have found: https://www.eftlab.com.au/index.php/site-map/knowledge-base/211-emv-aid-rid-pix
The AIDs in the link above are only for the "payment" category. You can also implement HCE for non-payment applications and for Android those are in the "other" category in you HostApduService configuration XML document. Refer to the Android developer documentation for more information about these two categories of AIDs and how AID selection works: https://developer.android.com/guide/topics/connectivity/nfc/hce.html#GroupsCategories
Upvotes: 0