Android如何对NFC设备进行轮询

时间:2013-07-23 14:54:00

标签: android nfc nfc-p2p

我正在使用非接触式读卡器与我的Android设备进行通信。

我观察到任何时间点都无法使用P2P连接到我的Android设备。如果我想连接以启动Android Beam传输,我必须不断尝试在一秒钟内多次连接到设备。

NFC Android设备可以检测非接触式卡,NFC P2P目标和NFC P2P启动器,即3种不同模式。我开始认为幕后有一种轮询可以很快地在三种模式之间切换。

这意味着在我尝试连接到手机的任何给定时间点,它可能会或可能不会处于正确的模式并且会失败。这就是我需要尝试多个连接的原因。

我一直在寻找Android源代码,试图找出这个并没有真正的运气。 here是我见过的最有前途的文件,但它仍然毫无意义。

我的问题是:Android如何检测多种NFC模式,是否使用切换算法?若然,该算法的具体内容是什么?

感谢。

1 个答案:

答案 0 :(得分:5)

  

我开始认为有一些   在幕后进行的一种民意调查   非常在三种模式之间切换   快。

正是这种情况正在发生。不同的技术得到时间复用。它不仅仅是三种模式。通常,NFC设备将轮询:

  • 读者ISO14443 A
  • 读者ISO14443 B
  • Reader FeliCa(又名标签类型3)
  • 读者ISO15693
  • 卡片仿真ISO14443 A
  • 卡片仿真ISO14443 B
  • Card Emulation Felica

Peer-to-Peer模式使用Reader A,Reader FeliCa作为发起者。卡仿真A和卡仿真Felica也用作对等目标模式技术。

轮询的确切时间不公开,您在源代码中找不到相关内容。这是由内部的NFC芯片处理的。