Hallo, > *Regarding P2P communication* > > - If I understand correctly, Android uses a proprietary protocol > (which I believe is called com.android.npp) on top of LLCP as > specified by the NFC Forum, which is a protocol on top of NFCIP-1 as > specified in ISO 18092.
Right, except that "proprietary protocol" should be replaced by "open protocol". > Or is there any other (documented) way for regular terminals or > desktop readers to communicate with an Android phone over P2P? No, for the moment there is no other documented way to communicate with other devices over P2P. Also, for now I only know of one PC-based library for the LLCP. (Actually a _commercial_ NFC stack.) Thus, if you want to implement communication with a reader you would also need to implement the LLCP. > *Regarding Card Emulation* > > - How would installation of an application on the SE work? // How > would permission be given, and to whom? I don't yet clearly see how > this would work in practice. The "short" answer: In a production environment, the SE owner delegates the management of the SE to some entity called TSM. If you want your application to be available for users with a certain TSM you get make a contract with this TSM that your applet (ticketing, payment,...) is amade available for their users. Then if one specific user wants to use your application you instruct the TSM to install the applet on the SE. This installation can be done over the mobile phone network at any time. In reality the process is even more complex. See this for further information on this topic: http://www.globalplatform.org/documents/GlobalPlatform_NFC_Mobile_White_Paper.pdf > - And more specifically, how would one develop and test an application > for the SE, if it requires permission by the SE owner. I don't know how this topic will be handled for the Nexus S devices. One possibility would certainly be to request test UICCs from some smart card vendor. These UICCs would then belong to you and you could do whatever you want with them. In previous NFC phones that had only an integrated SE, the device vendor (Nokia in that case) provided a way to "create" test devices by unlocking the SE (i.e. setting the secret keys to some publicly known value). Of course once this has happened that SE can never be trusted again. > - You mentioned it's possible to emulate a card with some tweaking of > the android source, how far could you go with this? Any pointers? Not "emulate a card" but activate one of the available SEs. The functions to activate (i.e. make available to external readers) an SE are already integrated into the 2.3.3 sources but the WRITE_SECURE_SETTINGS privilege is required to use them. As normal applications can't request this permission you would either have to trick the certificate and privilege verification of Android so that it believes your app has this privilege. The other possibility would be to recompile the sources and remove that privilege requirement from the concerning functions of the NFC service. (That's certainly the easier and more robust method.) br, Michael -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-developers?hl=en

