【问题标题】:How does Android poll for NFC devicesAndroid 如何轮询 NFC 设备
【发布时间】:2013-07-23 14:53:59
【问题描述】:

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

我发现任何时候我都无法使用 P2P 连接到我的 Android 设备。如果我想连接以启动 Android Beam 传输,我必须在一秒钟内连续尝试多次连接到设备。

NFC Android 设备可以检测非接触式卡、NFC P2P 目标和 NFC P2P 发起方,即 3 种不同的模式。我开始认为幕后正在进行某种轮询,可以在三种模式之间快速切换。

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

我一直在查看 Android 源代码来尝试解决这个问题,但没有真正的运气。 here 是我见过的最有前途的文件,但它仍然没有意义。

我的问题是:Android 如何检测多种 NFC 模式,它是否使用切换算法,如果是,该算法的细节是什么?

谢谢。

【问题讨论】:

    标签: android nfc nfc-p2p


    【解决方案1】:

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

    确实是这样。不同的技术得到时间复用。不过,它远不止三种模式。通常,NFC 设备会轮询:

    • 读卡器 ISO14443 A
    • 读卡器 ISO14443 B
    • 阅读器 FeliCa(又名标签类型 3)
    • 读卡器 ISO15693
    • 卡模拟 ISO14443 A
    • 卡模拟 ISO14443 B
    • 卡模拟费利卡

    Peer-to-Peer 模式使用 Reader A、Reader FeliCa 作为发起者。 Card emulation A 和 card emulation Felica 也被用作 Peer-to-Peer Target 模式技术。

    投票的确切时间是不公开的,你不会在源代码中找到太多关于它的信息。这由 NFC 芯片在内部处理。

    【讨论】:

    • 很好的答案证实了我的怀疑,谢谢。你介意我问你怎么知道的。你有任何参考链接我可以扫描一下吗?谢谢。
    • 嗯,我对每一个 NFC 芯片了如指掌,因为在我的工作中,我实际上是在开发芯片和 NFC 中间件。 (事业团队的一部分)。如果芯片不工作并且有连接问题,我的工作通常是连接一个射频跟踪器,捕捉正在发生的事情并深入到问题所在的位级别。所以我每天都会看到轮询循环。
    猜你喜欢
    • 2016-03-28
    • 1970-01-01
    • 1970-01-01
    • 2012-06-11
    • 2016-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多