Romain Piel Romain Piel - 1 month ago 10
Android Question

Is it possible to use Android Beam between an android device and another NFC device?

I'd like to implement a NFC communication between my Android app and a NFC-enabled kiosk. I've read the documentation and I understand pushing data can be done in 2 ways:


  • Via foreground NDEF pushing for API level 10 to 13

  • Via Android Beam from API level 14



I think I can do what I want to via the first solution but I'd like to know if it's possible to use Android Beam between an android device and a non-android device?

Thanks for your help,

Romain

Answer

Although the function calls between API 10 to 13 and APi 14 differ, the actual underlying protocol is nearly the same. In both cases, NFC peer-to-peer communication is done using LLCP. In API 10 to 13, the actual data transfer protocol used is NPP. In API 14, SNEP is added to that, but it will fall back to NPP when the other device does not support SNEP.

So when your non-Android device implements SNEP and/or NPP over LLCP, it can transfer data to and receive data from an Android NFC device. Several implementations of SNEP and LLCP for card reader devices exist, see for example https://github.com/grundid/nfctools.

Comments