首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用mifare 1k卡写入的Ndef数据未被检测到

用mifare 1k卡写入的Ndef数据未被检测到
EN

Stack Overflow用户
提问于 2019-07-29 16:45:32
回答 1查看 1.4K关注 0票数 1

我已经在Mifare卡中写入了Ndef数据,我希望它能够被任何支持NFC的android设备所读取,不管if是否支持Mifare卡。

有些手机,如Honor8pro(没有Mifare的支持)可以读取标签,而三星J7等其他手机则无法读取标签。

我把卡片数据附在一张图片上。

我使用了一个非标准的密钥,使第2区及以后成为私有的。

代码语言:javascript
复制
public void onTagDiscovered(Tag tag) {
// This is getting called for all devices
 Ndef ndef = Ndef.get(tag);
}

ndef在三星j7中为null,而在Honor 8 pro中有一个对象。

你知道为什么会发生这样的事情吗?或者用其他方法来实现这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-07-29 21:03:18

请注意,在一些移动电话上,操作系统不报告Mifare支持,尽管Mifare经典卡可以读得很好。安卓应该报告com.nxp.mifare系统的功能,如果有Mifare的支持,但有些手机没有。

因此,像用Tapkey进行NFC检查这样的一些应用程序有时会报告Mifare支持缺失,尽管它是存在的。要明确的是,这不是这些应用的错,而是操作系统的错。一些较老的Moto手机也有这个问题。根据您的描述,荣誉8专业人员也有同样的问题,否则它将不会返回一个Ndef实例。另一方面,三星J7实际上可能不支持Mifare,这就是它不返回Ndef实例的原因。

从你的问题我推断,你说的是Mifare经典卡。请注意,与Mifare经典不同,其他Mifare卡,即Mifare DESFire卡,可以充当4型NDEF标记,因此甚至可以被不支持专有Mifare经典版的手机读取。这是因为类型4 NDEF标记是标准化的。它们基于标准化的ISO 7816协议,并得到几乎所有NFC支持的手机的支持。

因此,长话短说,您可能无法阅读Mifare的经典卡与手机真的没有Mifare的支持,而阅读卡,如Mifare DESFire应该工作得很好。DESFire的其他优点是,它们更安全、更大、更灵活。最大的缺点是,它们的价格要高得多。

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

https://stackoverflow.com/questions/57258150

复制
相关文章

相似问题

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