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); 
 | 
    } 
 | 
  
 | 
  
 | 
} 
 |