左晓为主开发手持机充值管理机
zuoxiao
2024-09-29 ea8b02bbc2d20dc3db5b045fac4e6ddff7f44b7c
baselibrary/src/main/java/com/dayu/baselibrary/activity/BaseNfcActivity.java
@@ -6,8 +6,11 @@
import android.nfc.NfcAdapter;
import android.os.Bundle;
import com.dayu.baselibrary.tools.nfc.NfcCommonData;
import com.dayu.baselibrary.tools.nfc.HuaZhiNfcReadHepler;
import com.dayu.baselibrary.utils.ModelUtils;
import com.dayu.baselibrary.utils.TipUtil;
import com.pos.device.picc.PiccReader;
import com.pos.device.picc.PiccReaderCallback;
/**
 * author: zuo
@@ -22,14 +25,14 @@
public abstract class BaseNfcActivity extends BaseActivity {
    protected NfcAdapter mNfcAdapter;
    private PendingIntent mPendingIntent;
    public static int adapterType = NfcCommonData.defaultType;
    public static int adapterType = ModelUtils.defaultType;
    @Override
    protected void onNewIntent(Intent intent) {
        super.onNewIntent(intent);
        switch (adapterType) {
            case NfcCommonData.defaultType:
            case ModelUtils.defaultType:
                onNfcBack(intent);
                break;
        }
@@ -44,13 +47,30 @@
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //判断是哪个机型
        try {
            Class.forName("com.pos.device.config.DevConfig");
            adapterType = NfcCommonData.HuaZhiRongHai;
        } catch (ClassNotFoundException e) {
            adapterType = NfcCommonData.defaultType;
        switch (ModelUtils.getModelType()) {
            case ModelUtils.defaultType:
            case ModelUtils.ShangMiType:
                adapterType = ModelUtils.defaultType;
                break;
            case ModelUtils.HuaZhiRongHaiType:
                adapterType = ModelUtils.HuaZhiRongHaiType;
                PiccReader.getInstance().startSearchCard(HuaZhiNfcReadHepler.TIMEOUT, new PiccReaderCallback() {
                    @Override
                    public void onSearchResult(int result, int cardType) {
                        if (result == PiccReaderCallback.SUCCESS) {
                            switch (cardType) {
                                //以下为M1卡
                                case PiccReader.MIFARE_ONE_S50:
                                case PiccReader.MIFARE_ONE_S70:
                                    onNfcBack(null);
                                    break;
                            }
                        }
                    }
                });
                break;
        }
    }
    @Override
@@ -90,6 +110,12 @@
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
    }
    /**
     * 检测工作,判断设备的NFC支持情况
     *