左晓为主开发手持机充值管理机
zuoxiao
2023-11-21 fc6048b630901058ccd90529e32e031e612b8384
app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -5,10 +5,13 @@
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.text.InputFilter;
import android.text.Spanned;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import com.dayu.recharge.utils.DeviceNumberUtils;
import com.msd.ocr.idcard.LibraryInitOCR;
import com.dayu.recharge.MyApplication;
import com.dayu.recharge.card.UserCard;
@@ -60,10 +63,11 @@
        setContentView(newCardBinding.getRoot());
        setData();
        initView();
        LibraryInitOCR.initOCR(NewCardActivity.this);
//        LibraryInitOCR.initOCR(NewCardActivity.this);
    }
    private void initView() {
        newCardBinding.newCardId.setFilters(new InputFilter[] { new AlphaNumericXFilter(),new InputFilter.LengthFilter(18) });
        //身份证识别
        newCardBinding.newCardScanBtn.setOnClickListener(new View.OnClickListener() {
            @Override
@@ -191,7 +195,7 @@
     */
    private void initCard() {
        String initCode = WSHelper.getInstance(this).get("initCode", "");
        String initCode = DeviceNumberUtils.getDeviceNumber();
        if (TextUtils.isEmpty(initCode)) {
            ToastUtil.show(this, "设备注册号为空,请先设置IP和管理员地址");
            IpBean ipBean = baseDao.ipDao().findFirst();
@@ -249,6 +253,7 @@
                        userCardBean.setPhone(newCardBinding.newCardPhone.getText().toString());
                        userCardBean.setUserID(newCardBinding.newCardId.getText().toString());
                        userCardBean.setDate(System.currentTimeMillis());
                        baseDao.userCardDao().insert(userCardBean);
                        Intent intent = new Intent(NewCardActivity.this, NFCWreatActivity.class);
                        intent.putExtra("userCard", userCard);
                        intent.putExtra("dbUserCard", userCardBean);
@@ -280,4 +285,19 @@
        return name.matches(regex);
    }
    private static class AlphaNumericXFilter implements InputFilter {
        // 正则表达式定义只能输入数字和字母 "X"(大写或小写)
        private final String regex = "[0-9Xx]*";
        @Override
        public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
            // 检查每个输入字符是否符合正则表达式
            for (int i = start; i < end; i++) {
                if (!String.valueOf(source.charAt(i)).matches(regex)) {
                    return ""; // 不符合规定的字符被过滤掉
                }
            }
            return null; // 允许输入字符
        }
    }
}