package com.dayu.baselibrary.tools.nfc; import android.content.Intent; import com.dayu.baselibrary.bean.BaseManagerToUserCard; import com.dayu.baselibrary.bean.BaseUserCardCard; import java.util.List; import java.util.Map; /** * author: zuo * Date: 2024-09-25 * Time: 11:41 * 备注:不同NFC读取的父类 */ public abstract class BaseNfcReadHelper extends BaseNFCHelper { public abstract void setIntent(Intent intent); public abstract String getCradType(); /** * 读取M1卡的全部信息 * * @param callback */ public abstract void getAllData(final NFCCallMapback callback); /** * 获取1扇区信息 * * @param callback */ public abstract void getOneSectorData(NFCCallListback callback); /** * 获取卡号 * * @return */ public abstract String getCardNumber(); /** * 获取卡片类型和卡号 * * @return */ public abstract String getCradTypeAndCardNumber(); /** * 读取NFC卡的特定扇区信息 * * @param a 扇区 * @param b 块 * @param callback */ public abstract void getData(final int a, final int b, final NFCCallByteback callback); /** * 同步获取 * * @return */ public abstract List getOnesectorData(); /** * 同步获取用户卡信息 * * @return */ public abstract BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard); public BaseManagerToUserCard getManagerToUserCardData(BaseManagerToUserCard baseManagerToUserCard) { return null; } /** * 返回监听类 */ public interface NFCCallMapback { /** * 返回读取nfc卡的全部信息 * * @param data 前面代表扇区 四个块的数据用#号隔开 */ void callBack(Map> data); void error(int code); } /** * 返回监听类 */ public interface NFCCallListback { /** * 返回读取nfc卡的全部信息 * * @param data 前面代表扇区 四个块的数据用#号隔开 */ void callBack(List data); void error(int code); } public interface NFCCallByteback { /** * 返回读取nfc卡的全部信息 * * @param data 前面代表扇区 四个块的数据用#号隔开 */ void callBack(byte[] data); void error(int code); } }