当前位置:首页 > 资讯 > 正文

android使用NFC的读模式卡片手机「android使用NFC的读模式」

android使用NFC的读模式卡片手机「android使用NFC的读模式」

NFC读模式工作流程:NFC芯片轮询执行读模式、点对点和卡模式,当把卡片靠近手机的NFC天线的时候,NFC会识别到卡,然后
把卡对象装到intent里面,并发送广播NfcAdapter.ACTION_TECH_DISCOVERED,应用程序接到这个广播之后,通过
intent.getParcelableExtra(NfcAdapter.EXTRA_TAG)来获取到卡对象,然后就可以对卡进行读写。

了解这个之后,我们就可以写自己的应用了。

两个步骤完成:

1.注册接受广播和过滤器

用静态的方式,在AndroidManifest.xml注册,这样子activity不在运行状态的时候也可以接受到广播。

 

nfc_tech_filter.xml是过滤器,过滤哪些卡片

2.处理接收到的广播 

继承activity的方法public void onNewIntent(Intent intent);
用Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);获取到tag,
把tag转换为IsoDep isodep = IsoDep.get(tag);
也可以把tag转换为MifareClassic mfc = MifareClassic.get(tag);
这个根据读到的tag类型的转换,tag的类型有很多,饭卡门禁卡这些一般是MifareClassic,非接触银行卡公交卡这些一般是IsoDep。
举个例子,下面是读取深圳通卡的余额:

下面是读取MifareClassic的例子,使用的是默认密钥: 

 

记得添加NFC的权限
源码下载地址,百度网盘: 

链接: