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<byte[]> getOnesectorData();
|
|
|
/**
|
* 同步获取用户卡信息
|
*
|
* @return
|
*/
|
public abstract BaseUserCardCard getUserCardData(BaseUserCardCard userCardCard);
|
|
|
public BaseManagerToUserCard getManagerToUserCardData(BaseManagerToUserCard baseManagerToUserCard) {
|
return null;
|
}
|
|
/**
|
* 返回监听类
|
*/
|
public interface NFCCallMapback {
|
/**
|
* 返回读取nfc卡的全部信息
|
*
|
* @param data 前面代表扇区 四个块的数据用#号隔开
|
*/
|
void callBack(Map<String, List<byte[]>> data);
|
|
|
void error(int code);
|
}
|
|
/**
|
* 返回监听类
|
*/
|
public interface NFCCallListback {
|
/**
|
* 返回读取nfc卡的全部信息
|
*
|
* @param data 前面代表扇区 四个块的数据用#号隔开
|
*/
|
void callBack(List<byte[]> data);
|
|
|
void error(int code);
|
}
|
|
|
public interface NFCCallByteback {
|
/**
|
* 返回读取nfc卡的全部信息
|
*
|
* @param data 前面代表扇区 四个块的数据用#号隔开
|
*/
|
|
void callBack(byte[] data);
|
|
void error(int code);
|
}
|
|
|
}
|