
                    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的权限 
 
源码下载地址,百度网盘: 
 链接: