一触即能使两个Android设备通过NFC交换数据吗?
作者:互联网
我想创建一个通过NFC在2个设备之间交换信息的应用程序.
我知道如何使一个手机使用Android Beam向另一个手机发送信息.我不知道两部手机如何仅需轻轻一按就能相互发送数据.
这可能吗?如果是,怎么办?
解决方法:
这取决于您要实现的目标以及所使用的Android版本:
两种设备都具有Android< 4.0
两种设备都可以发送一个NDEF消息,而无需用户交互.消息不能相互依赖(即一台设备不可能发送消息而另一台设备不能对此发送答复).您可以结合使用enableForegroundNdefPush()和enableForegroundDispatch()来实现此目的.
至少一台具有Android< 4.4
理论上,两个设备都可以每次触摸发送一个NDEF消息,但是两个设备上都需要用户交互(即用户需要触摸Beam UI).此外,需要几乎同时触摸两个设备上的Beam UI.否则,另一台设备上的Beam UI将由于收到NDEF消息而中断.因此,这种“解决方案”并不是真正可用的.您可以结合使用setNdefPushMessage *()和enableForegroundDispatch()来实现.
两种设备均采用Android 4.4
从4.4版开始,Android具有两个新功能:
> NFC reader mode和
> Host-based Card Emulation(HCE).
当您结合使用这些功能(即,在一台设备上具有HCE主机卡仿真服务并将另一台设备置于读取器模式)时,两个设备都可以使用ISO 7816-4 APDU相互通信(真正的双向通信). .
标签:nfc,android-beam,hce,nfc-p2p,android 来源: https://codeday.me/bug/20191121/2053785.html