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