Android:如何更改NFC协议优先级?

Android:如何更改NFC协议优先级?,android,nfc,nexus-7,nfc-p2p,hce,Android,Nfc,Nexus 7,Nfc P2p,Hce,我有自己的Android应用程序(应用程序A),它可以读取和写入NFC标签和ISO-14443 A类标签。它在许多Android设备上运行良好 我想将ISO-14443标签的角色赋予我的Nexus5,因此我在Nexus5上实现了自己的HCE(主机卡仿真)应用程序(应用程序B)。当我在外部NFC阅读器(使用ISO 14443)上触摸Nexus5时,它可以完美工作 然而,当我触摸Nexus7(运行应用程序a)上的Nexus5(应用程序B)时,p2p(Android beam)数据交换序列开始 即使我

我有自己的Android应用程序(应用程序A),它可以读取和写入NFC标签和ISO-14443 A类标签。它在许多Android设备上运行良好

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

然而,当我触摸Nexus7(运行应用程序a)上的Nexus5(应用程序B)时,p2p(Android beam)数据交换序列开始

即使我在两台设备上都关闭了Android beam功能,也没有任何变化。Nexus7不显示“触控光束”屏幕,但p2p检测声音播放

LogCat显示Nexus7试图建立LLCP连接

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


如何更改NFC检测优先级,使ISO-14443优先于Android beam?

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

在此模式下,NFC控制器将仅充当NFC标签读写器,从而禁用此设备上NFC适配器的任何对等(Android Beam)和卡模拟模式。[…]对于使用Android基于主机的卡模拟与另一个Android设备上模拟的标签交互,建议使用
FLAG\u READER\u NFC\u A
FLAG\u READER\u SKIP\u NDEF\u CHECK


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

在此模式下,NFC控制器将仅充当NFC标签读写器,从而禁用此设备上NFC适配器的任何对等(Android Beam)和卡模拟模式。[…]对于使用Android基于主机的卡模拟与另一个Android设备上模拟的标签交互,建议使用
FLAG\u READER\u NFC\u A
FLAG\u READER\u SKIP\u NDEF\u CHECK


它起作用了!现在,我的nexus7识别出nexus5的主机卡模拟通信。它工作正常!现在,我的nexus7可以识别nexus5的主机卡模拟通信。