我目前正在为我的大学课程开发一个项目,我希望能够编辑Android的HCE功能的功能,以便在模拟卡片时设置我自己的UID.
现在,我已经下载了AOSP源代码,并构建了一个没有编辑代码的自定义映像,并将其安装到我的Nexus 7中(这包括下载并包含供应商特定的硬件驱动程序),我仍然坚持下一部分.
我实际上找不到管理Android的NFC功能的设备代码,我不确定如何去寻找a)寻找它,以及b)我应该如何编辑这段代码.
基于内核的Android中的NFC代码是什么?如果是这样,在我再次运行"make"并希望它构建之前,我将如何编辑?还是在其他地方?我注意到我下载和提取的Vendor文件夹中的文件是.ncd格式,我认为这是不可编辑的.
我能得到的任何帮助将不胜感激.
Android 4.4引入了基于主机的卡仿真(HCE).如您所知,所有NFC卡都带有固定卡ID(NfcAdapter.EXTRA_ID).
我的办公室门禁通常会检测授权的NFC卡ID.将手机刷到KitKat后,我尝试使用门禁阅读器扫描手机.但是每当屏幕关闭再打开时,我会得到一个不同的卡ID.
我确实尝试打开手机屏幕,并将模拟卡ID注册到门禁系统.它设法授予打开门的权限.但是,在屏幕关闭再打开后,这将无效.
自KitKat引入HCE模式以来,我一直在尝试使用手机模拟门禁卡.
任何使手机模拟卡ID固定的想法?
我很可能正在开展一个项目,现有的Desfire卡(用于访问付费服务)将被支持NFC的移动设备取代.任何人都可以向我指出任何资源,以帮助我了解a)将Desfire卡的数据复制到移动设备上所涉及的内容,以便它可以代替卡,以及b)让应用程序提供NFC数据以便呈现给读者好像是卡片.所有相关的密钥和访问权限都将由发卡机构提供(如果项目继续进行),但我很想提前了解该流程.
我还需要了解Android NFC API如何支持Desfire,因为据我所知它只能正确支持Classic.http://developer.android.com/reference/android/nfc/tech/package-summary.html
请帮忙!
我希望有人能帮助我理解 Android 上主机卡模拟背后的整个想法。
我正在大学开展一个项目,该项目的想法是通过智能手机上的 NFC 提供对启用 RFID 的门禁的访问。过去 2 周我一直在研究,那里有很多信息,我正在努力理解它。这是我到目前为止的理解。
RFID分为三类:
智能手机中的 NFC 技术以 13.56Mhz 的频率进行通信。
RFID 阅读器和 NFC 智能手机要相互通信,必须满足两个条件:
有一大堆协议,现在 NFC 论坛正试图推动一些协议的标准化,即:
现在我想做的是在 Android 设备上模拟 Mifare 卡。有 4 个 Mifare 卡/芯片系列,它们的通信频率均为 13.56MHz,因此我们可以勾选:
经典家庭
DESFire 家族
超轻系列
Ultralight C: …
我需要创建一个模拟 Mifare Ultralight 卡的简单 Android 应用程序。它应该仅在接收数据时在同一缓冲区上读取和写入时“发送”数据(从可编辑缓冲区获取)。
但我不知道如何模拟读卡器和模拟卡之间的这种通信。我已经阅读过有关 Android HCE 的内容,但我不知道如何实现 Mifare Ultralight 通信(ISO 14443 A 型)。
我还读过这篇、这篇,当然我还读过有关Android HCE 的内容。
我真的不知道沟通必须如何实施。假设我已经从 Android 开发者网站(带有基本应用程序)注册并正确设置了 HCE 等 Android 服务,我可以在读取模拟器时首次发送数据。
但对于 MIFARE Ultralight 卡模拟:
1) 获得缓冲区后是否应该使用基本的 NFC 方法?
2)如何实现卡模拟器和读卡器之间的通信?
3)什么地方必须使用这些读写方法?
编辑:让我们想象一个 MIFARE 钱包......所以,就像我需要存储和获取卡数据一样。在 mifare4mobile 网站上,他们告诉我 SDK 是可用的,但任何人都知道如何以及在哪里。
谢谢你!