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