From c9c5dc252530a4d4b79decf3c7abde377a534ce3 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 01 十二月 2023 13:41:51 +0800
Subject: [PATCH] 身份证识别相关资源和代码
---
app/src/main/java/com/dayu/recharge/MyApplication.java | 183 ++++++++++++++++++---------------------------
1 files changed, 75 insertions(+), 108 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/MyApplication.java b/app/src/main/java/com/dayu/recharge/MyApplication.java
index eac3399..41f25f0 100644
--- a/app/src/main/java/com/dayu/recharge/MyApplication.java
+++ b/app/src/main/java/com/dayu/recharge/MyApplication.java
@@ -1,6 +1,7 @@
package com.dayu.recharge;
import android.app.Application;
+import android.nfc.Tag;
import android.os.Handler;
import android.os.Message;
import android.text.TextUtils;
@@ -9,6 +10,7 @@
import com.dayu.recharge.dao.BaseDaoSingleton;
import com.dayu.recharge.dbBean.DeviceNumber;
import com.dayu.recharge.dbBean.IpBean;
+import com.dayu.recharge.utils.DeviceNumberUtils;
import com.dayu.recharge.utils.ToastUtil;
import com.easysocket.EasySocket;
import com.easysocket.config.EasySocketOptions;
@@ -34,7 +36,7 @@
import java.util.TimerTask;
public class MyApplication extends Application {
-
+ public static String TAG = "MyApplication";
public static MyApplication myApplication;
private String address;
@@ -45,14 +47,16 @@
public boolean isConncet = false;
private final Timer timer = new Timer();
+
@Override
public void onCreate() {
super.onCreate();
myApplication = this;
isAidl = true;
AidlUtil.getInstance().connectPrinterService(this);
- initEasySocket(false, null);
- socketConnect();
+
+// initEasySocket(false, null);
+
CrashReport.initCrashReport(getApplicationContext(), "45551598b8", true);
}
@@ -66,13 +70,20 @@
isAidl = aidl;
}
+ public IpBean ipBean;
+
/**
* 鍒濆鍖朎asySocket
*/
public void initEasySocket(boolean isCreate, SocketNet.CreateBack createBack) {
try {
this.createBack = createBack;
- IpBean ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+ ipBean = BaseDaoSingleton.getInstance(MyApplication.myApplication).ipDao().findFirst();
+ if (ipBean == null) {
+ ipBean = new IpBean();
+ ipBean.setIp("dayuyanjiuyuan.top");
+ ipBean.setPort(8888);
+ }
if (ipBean != null) {
try {
//澶勭悊褰撹繛鎺ヤ笂IP鍚庝慨鏀筰p涓嶇敓鏁堥棶棰�
@@ -136,86 +147,79 @@
if (!TextUtils.isEmpty(ip)
&& !TextUtils.isEmpty(String.valueOf(port))
&& !TextUtils.isEmpty(addressCode)) {
- if (EasySocket.getInstance().getDefconnection() != null) {
- isDoInitMachine = true;
- InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean();
- initMachineRequestBean.setControl("01");
- //130107200008 112 闈掓硥灞呭浼�
- initMachineRequestBean.setAddress(addressCode);
- initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this));
- initMachineRequestBean.setAFN("91");
-//
- Log.i("Socket", "娉ㄥ唽鎶ユ枃");
- SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() {
- @Override
- public void onSocketResponse(SocketData readData) {
- if (CRC8.isCRC8(readData.getOriginDataBytes())) {
- //鏍¢獙CRC鎴愬姛
- InitMachineBackBean initMachineBackBean = new InitMachineBackBean();
+ Log.i("initMachineRequestBean", "寮�濮嬫敞鍐岃澶�");
+ if (EasySocket.getInstance().getDefconnection() != null) {
+ isDoInitMachine = true;
+ InitMachineRequestBean initMachineRequestBean = new InitMachineRequestBean();
+ initMachineRequestBean.setControl("01");
+ //130107200008 112 闈掓硥灞呭浼�
+ initMachineRequestBean.setAddress(addressCode);
+ initMachineRequestBean.setXuLie(SocketUtil.getXuLie(this));
+ initMachineRequestBean.setAFN("91");
+ SocketNet.getInstance().sendTestMessage(initMachineRequestBean.pack(), new SocketCallBack() {
+ @Override
+ public void onSocketResponse(SocketData readData) {
- String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18));
- //纭鏀跺埌娉ㄥ唽鍙锋姤鏂�
- ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean();
- confirmMachineRequestBean.setControl("01");
- //130107200008 112 闈掓硥灞呭浼�
- confirmMachineRequestBean.setAddress(addressCode);
- confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this));
- confirmMachineRequestBean.setAFN("92");
- confirmMachineRequestBean.setInitCode(initCode);
- Log.i("Socket", "纭娉ㄥ唽鎶ユ枃");
- SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() {
+ if (CRC8.isCRC8(readData.getOriginDataBytes())) {
+ //鏍¢獙CRC鎴愬姛
+ InitMachineBackBean initMachineBackBean = new InitMachineBackBean();
+ String initCode = HexUtil.bytesToHex(Arrays.copyOfRange(readData.getBodyBytes(), 2, 18));
+ //纭鏀跺埌娉ㄥ唽鍙锋姤鏂�
+ ConfirmMachineRequestBean confirmMachineRequestBean = new ConfirmMachineRequestBean();
+ confirmMachineRequestBean.setControl("01");
+ //130107200008 112 闈掓硥灞呭浼�
+ confirmMachineRequestBean.setAddress(addressCode);
+ confirmMachineRequestBean.setXuLie(SocketUtil.getXuLie(MyApplication.this));
+ confirmMachineRequestBean.setAFN("92");
+ confirmMachineRequestBean.setInitCode(initCode);
+ Log.i("Socket", "纭娉ㄥ唽鎶ユ枃");
+ SocketNet.getInstance().sendTestMessage(confirmMachineRequestBean.pack(), new SocketCallBack() {
- @Override
- public void onSocketResponse(SocketData readData) {
- isDoInitMachine = false;
- if (CRC8.isCRC8(readData.getOriginDataBytes())) {
- byte stateByte = readData.getBodyBytes()[2];
- String state = BcdUtil.bcdToStr(stateByte);
- //BCD鐮�00鎴愬姛01澶辫触(娉ㄥ唽鍙蜂笉鏄湇鍔″櫒杩斿洖淇℃伅)
- if (state.equalsIgnoreCase("00")) {
- //淇濆瓨璁惧娉ㄥ唽鍙�
- DeviceNumber deviceNumber = BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().findFirst();
- if (deviceNumber != null) {
- deviceNumber.setDeviceRegistrationNumber(initCode);
- } else {
- deviceNumber = new DeviceNumber();
- deviceNumber.setDeviceRegistrationNumber(initCode);
- }
- BaseDaoSingleton.getInstance(MyApplication.myApplication).deviceNumberDao().insert(deviceNumber);
-
+ @Override
+ public void onSocketResponse(SocketData readData) {
+ isDoInitMachine = false;
+ if (CRC8.isCRC8(readData.getOriginDataBytes())) {
+ byte stateByte = readData.getBodyBytes()[2];
+ String state = BcdUtil.bcdToStr(stateByte);
+ //BCD鐮�00鎴愬姛01澶辫触(娉ㄥ唽鍙蜂笉鏄湇鍔″櫒杩斿洖淇℃伅)
+ if (state.equalsIgnoreCase("00")) {
+ //淇濆瓨璁惧娉ㄥ唽鍙�
+ if (!TextUtils.isEmpty(initCode)){
+ DeviceNumberUtils.setDeviceNumber(initCode);
+ }
+ Log.i(TAG, "onSuccess: 璁惧娉ㄥ唽鍙凤細" + initCode);
// WSHelper.getInstance(MyApplication.this).put("initCode", initCode);
- ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
+ ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囪幏鍙栨垚鍔�");
+ } else {
+ //鏍¢獙CRC閿欒
+ ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
+ }
} else {
//鏍¢獙CRC閿欒
- ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鐘舵�佸け璐�");
+ ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒");
}
- } else {
- //鏍¢獙CRC閿欒
- ToastUtil.show("纭鏀跺埌娉ㄥ唽鎶ユ枃鏍¢獙CRC閿欒");
}
- }
- @Override
- public void onSocketError(int code, String msg) {
+ @Override
+ public void onSocketError(int code, String msg) {
- }
- });
- } else {//鏍¢獙CRC閿欒
- ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒");
+ }
+ });
+ } else {//鏍¢獙CRC閿欒
+ ToastUtil.show("鍏呭�肩鐞嗘敞鍐屾姤鏂囨牎楠孋RC閿欒");
+ }
}
- }
- @Override
- public void onSocketError(int code, String msg) {
+ @Override
+ public void onSocketError(int code, String msg) {
- }
- });
+ }
+ });
+ }
}
-
- }
}
private void createSocket(String ip, int port) {
@@ -225,9 +229,9 @@
.setSocketAddress(new SocketAddress(ip, port))
// 瀹氫箟娑堟伅鍗忚锛屾柟渚胯В鍐� socket榛忓寘銆佸垎鍖呯殑闂
.setReaderProtocol(new ScoketMessageProtocol())
- .setMaxWriteBytes(1024)
- .setMaxReadBytes(1024)
- .setRequestTimeout(10 * 1000)
+ .setMaxWriteBytes(150)
+ .setMaxReadBytes(150)
+ .setRequestTimeout(5 * 1000)
.build();
// 鍒濆鍖�
@@ -235,43 +239,6 @@
// EasySocket.getInstance().subscribeSocketAction(socketActionListener);
EasySocket.getInstance().subscribeSocketAction(SocketNet.getInstance().socketNet.socketActionListener);
}
-
-
- /**
- * 瀹氭椂閲嶈繛鏈嶅姟鍣�
- */
- private void socketConnect() {
-
- try {
- TimerTask task = new TimerTask() {
- @Override
- public void run() {
- // TODO Auto-generated method stub
- Message message = new Message();
- message.what = 1;
- handler.sendMessage(message);
- }
- };
-// timer.schedule(task, 5000, 1000 * 60 * 3);
- timer.schedule(task, 5000, 1000 * 60 * 3);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- Handler handler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- // TODO Auto-generated method stub
- // 瑕佸仛鐨勪簨鎯�
- super.handleMessage(msg);
- try {
- SocketNet.getInstance().isConnect(MyApplication.this);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- };
}
--
Gitblit v1.8.0