package com.dayu.qihealonelibrary.tools; import android.app.Activity; import android.content.Intent; import com.dayu.baselibrary.tools.nfc.BaseNfcReadHelper; import com.dayu.baselibrary.tools.nfc.NfcReadAdapter; import com.dayu.qihealonelibrary.card.UserCard; import java.util.List; /** * @author zx * @date 2018/4/23 14:31 * email 1058083107@qq.com * description nfc读取工具类 */ public class NfcReadHelper extends QHBaseNFCHelper { // private NFCCallback callback; private static NfcReadHelper helper; private NfcReadAdapter adapter; public NfcReadHelper(Intent intent, Activity activity) { super(activity); adapter = new NfcReadAdapter(intent, activity); } /** * 单例初始化 * * @param intent * @return */ public static NfcReadHelper getInstence(Intent intent, Activity activity) { if (helper == null) { helper = new NfcReadHelper(intent, activity); } helper.adapter.setIntent(intent); return helper; } /** * 获取用户卡信息 * * @return */ public UserCard getUserCardData() { try { return (UserCard) adapter.getUserCardData(new UserCard()); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 获取卡号 * * @return */ public String getCardNumber() { try { return adapter.getCardNumber(); } catch (Exception e) { e.printStackTrace(); } return ""; } /** * 获取卡片类型和卡号 * * @return */ public String getCradTypeAndCardNumber() { try { return adapter.getCradTypeAndCardNumber(); } catch (Exception e) { e.printStackTrace(); } return ""; } /** * 读取NFC卡的全部信息 * * @param callback */ public void getAllData(final BaseNfcReadHelper.NFCCallMapback callback) { try { adapter.getAllData(callback); } catch (Exception e) { e.printStackTrace(); } } public List getOnesectorData() { try { return adapter.getOnesectorData(); } catch (Exception e) { e.printStackTrace(); } return null; } /** * 读取NFC卡的特定扇区信息 * * @param a 扇区 * @param b 块 * @param callback */ public void getData(final int a, final int b, final BaseNfcReadHelper.NFCCallByteback callback) { try { adapter.getData(a, b, callback); } catch (Exception e) { e.printStackTrace(); } } }