I have an NFC reader constantly polling for tags present. I also have a Nexus 5 with a HostApduService activated. When repeatedly tapping the Nexus 5 on the reader, the reader reports a FELICA (JIS: X6319-4) tag found in 9 out of 10 cases. About 1 in 10 it reports an ISO14443-3A device.

The latter is the expected behavior and the one described for Android HCE. I cannot find mention of this FELICA support anywhere. A OnePlus One only shows up as ISO14443-3A, for example.

Why does a Nexus 5 HCE show up as FELICA? And is there a way to disable this behavior?

[EDIT]: I have two Nexus 5 phones here, acting differently. This one acts like FELICA: Android 5.1, Build LMY47I. The other does not: Android 5.1.1, Build LMY48M


Besides HCE mode, an Android device typically also operates in NFC peer-to-peer mode. Passive peer-to-peer mode (ISO/IEC 18092) is based on the anti-collision and activation protocols from ISO/IEC 14443 (for 106 kbps) and from JIS X 6319-4 (for 212 kbps and 424 kbps). Hence, devices in peer-to-peer mode may be detected as JIS X 6319-4 cards as well as ISO/IEC 14443-3 cards by contactless smartcard readers.

How likely it is to (accidentally) detect an Android phone as "FeliCa" or to (properly) detect it as ISO/IEC 14443 depends on the implementation of the NFC polling/listening loop that the phone uses to cycle between the different active and passive NFC (and NFC-compatible) protocols.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.