| 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<byte[]> 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(); | 
|         } | 
|     } | 
|   | 
|   | 
| } |