首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >阅读NFC技术列表中的奇怪的Android设备行为

阅读NFC技术列表中的奇怪的Android设备行为
EN

Stack Overflow用户
提问于 2015-06-04 06:50:22
回答 1查看 305关注 0票数 0

我正在尝试从2台设备(Nexus 5和三星S5)中读取NFC标签。

我正在通过前台分发来读取标记,并使用ACTION_TECH_DISCOVERED意图。在三星的S5上,技术列表列出了NfcAMifareClassicNdef,但在Nexus 5上,它只列出了NfcA

我知道Nexus 5不支持NXP的MIFARE经典标签。THus,我明白为什么它没有列出MifareClassic。但是为什么它也没有在技术列表中显示Ndef呢?

当我尝试使用ACTION_NDEF_DISCOVERED意图读取标签时,三星S5很好地读取它,而Nexus 5甚至没有检测到它。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-04 07:34:53

这并不奇怪,而是人们所期待的行为:

正如你自己发现的,Nexus 5不支持MIFARE经典版,而三星S5则支持。MIFARE经典的问题在于它使用了ISO/IEC 14443-3中定义良好的防碰撞机制,因此可以在所有Android设备上检测到。除了标准化的防碰撞之外,MIFARE经典还使用了一种专有协议(它的框架略有不同,并且使用了专有加密算法)。由于NXP不为该协议的读者端提供许可,所以只有NXP芯片组实现它。因此,只有具有NXP芯片组的设备(比如三星S5,其中包含一个PN547 NFC控制器)才能访问MIFARE经典卡上的数据。其他设备(例如,使用Broadcom芯片组,如Nexus 5或三星NFC芯片组,如S5 mini)不支持MIFARE经典协议,因此无法访问存储在这些芯片上的数据。

因此,这些设备上没有显示MifareClassic标记技术,因为该平台不支持发送MIFARE经典命令(这是您可以使用MifareClassic技术对象所做的)。此外,由于无法发送内存访问命令,还意味着不能访问存储在标记上的数据。这就是为什么不显示Ndef技术: NDEF是NFC标记之上的数据抽象层,因此,没有对数据的访问意味着也没有通过NFC抽象层访问相同数据的方法。因此,提供Ndef技术对象是没有意义的,因为您无法使用它来访问数据。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30636890

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档