基本信息
源码名称:Adnroid NFC读取银行卡信息(下图为读取招商银行卡的信息)
源码大小:2.67M
文件格式:.rar
开发语言:Java
更新时间:2018-05-10
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

封装NFC读卡器模式接口

package com.zchr.nfcdemo;

import com.zchr.nfc.ISO7816;
import com.zchr.nfc.NfcBaseActivity;
import com.zchr.nfc.NfcReader;
import com.zchr.util.MyUtil;
import com.zchr.util.SysException;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;

public class MainActivity extends NfcBaseActivity {

	public TextView m_textViewShow;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		m_textViewShow = (TextView) findViewById(R.id.test_show);

		//初始化NFC接口
		InitNfcInterface(this);
	}

	//IC卡处理
	public void IccProc() {

		Thread thread = new Thread(new Runnable() {
			@Override
			public void run() {

				Message message;
				ISO7816 iso7816ApduRsp = new ISO7816();

				try {

					if (NfcReader.ConnectCard() != NfcReader.CARD_READER_SUCCESS) {
						throw new SysException("连接卡失败");
					}

					if (NfcReader.SendApdu("00A404000E315041592E5359532E4444463031", iso7816ApduRsp) != NfcReader.CARD_READER_SUCCESS) {
						throw new SysException("发送选择PSE命令失败");
					}

					message = null;
					message = new Message();
					message.what = 0;
					message.obj = MyUtil.ByteArrayToHexString(iso7816ApduRsp.getByteRspData())   "["   MyUtil.ByteArrayToHexString(iso7816ApduRsp.getSW())   "]";
					mHandler.sendMessage(message);

				} catch (SysException e) {

					message = null;
					message = new Message();
					message.obj = e.toString();
					message.what = 1;
					mHandler.sendMessage(message);
				} catch (Exception e) {

					e.printStackTrace();
					message = null;
					message = new Message();
					message.obj = "发生异常";
					message.what = 1;
					mHandler.sendMessage(message);
				} finally {

				}
			}
		});

		thread.start();
	}

	public Handler mHandler = new Handler() {
		public void handleMessage(Message msg) {
			switch (msg.what) {
			case 0:

				m_textViewShow.setText((String) msg.obj);
				m_textViewShow.invalidate();
				break;
			case 1:

				m_textViewShow.setText((String) msg.obj);
				m_textViewShow.invalidate();
				break;

			default:
				break;
			}
			super.handleMessage(msg);
		}
	};

	//NFC读写处理
	public void NfcReadWriteProc() {

		//IC卡处理
		IccProc();
	}
}