0x00 安卓NFC初体验

硬件:三星galaxy s6 edge + 淘宝M卡一张(TAG类型为MifareClassic。)

开发环境:

Android studio

0x0F 价格昂贵的一张飞机票

Android 文档相关内容:点我点我 谷歌

0xFF 进入正题

在Android NFC 应用中,Android手机通常是作为通信中的发起者,也就是作为各种NFC卡的读写器。Android对NFC的
支持主要在 android.nfc 和android.nfc.tech 两个包中。

android.nfc 包

NfcManager 管理Android设备中指出的所有NFCAdapter,一般直接调用getDefaultAapater来获取手机中的Adapter。

NfcAdapter 相当于一个NFC适配器,手机装了NfcAdapter才能发起NFC通信。

NDEF: NFC Data Exchange Format,即NFC数据交换格式。

NdefMessage 和NdefRecord NDEF 为NFC forum 定义的数据格式。

Tag 代表一个被动式Tag对象。当Android设备检测到一个Tag时,会创建一个Tag对象,将其放在Intent对象,然后发送到相应的Activity。

android.nfc.tech 中则定义了可以对Tag进行的读写操作的类,

这些类按照其使用的技术类型可以分成不同的类如:NfcA, NfcB, NfcF,以及MifareClassic 等。
其中MifareClassic比较常见,这也是今天代码的主角。

源代码下载地址:

github:https://github.com/suixinio/M1Card_RW

重要数据已经扣除,此代码仅作为研究使用。

PS:关于代码,或者是M卡片结构请看:
https://www.bookset.io/blog-8.html