【问题标题】:Android : How to change NFC protocol priority?Android:如何更改 NFC 协议优先级?
【发布时间】:2013-12-29 03:01:26
【问题描述】:

我有自己的 Android 应用程序 (App A),它可以读取和写入 NFC 标签和 ISO-14443 Type A 标签。它适用于许多 Android 设备。

我想将 ISO-14443 标签的角色赋予我的 Nexus5,因此我在 Nexus5 上实现了自己的 HCE(主机卡仿真)应用程序(应用程序 B)。当我在外部 NFC 阅读器(使用 ISO 14443)上触摸 Nexus5 时,它可以正常工作。

但是,当我在 Nexus7(运行应用 A)上触摸 Nexus5(应用 B)时,p2p(Android 光束)数据交换序列开始。

即使我关闭了两台设备上的 Android Beam 功能,也没有任何变化。 Nexus7 不显示“Touched to Beam”屏幕,但 p2p 检测声音播放。

LogCat 显示 Nexus7 尝试建立 LLCP 连接。

我希望 Nexus7 专注于检测 Nexus5 的 ISO-14443 HCE,而不是 Android 光束。

如何更改 NFC 检测优先级以优先使用 ISO-14443 而不是 Android Beam?

【问题讨论】:

    标签: android nfc nexus-7 nfc-p2p hce


    【解决方案1】:

    该解决方案仅适用于 Android 4.4 Kitkat(适用于 Nexus 7)。您需要使用enableReaderMode() 启用所谓的“阅读器模式”,该模式旨在处理这种特殊情况。

    在此模式下,NFC 控制器将仅充当 NFC 标签读取器/写入器,从而禁用此设备上 NFC 适配器的任何点对点 (Android Beam) 和卡模拟模式。 [...] 为了与使用 Android 的基于主机的卡模拟在另一台 Android 设备上模拟的标签进行交互,推荐的标志是 FLAG_READER_NFC_AFLAG_READER_SKIP_NDEF_CHECK

    【讨论】:

    • 它有效!现在,我的nexus7 可以识别主机卡仿真通信。的关系5。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 1970-01-01
    • 2016-09-30
    • 2012-03-06
    • 1970-01-01
    相关资源
    最近更新 更多