From 26201eca8dc6a86f37b5d30469edeab367786cd0 Mon Sep 17 00:00:00 2001
From: xuxiuxi <xuxiuxi@454eff88-639b-444f-9e54-f578c98de674>
Date: 星期四, 29 六月 2017 09:32:54 +0800
Subject: [PATCH]
---
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java | 93 +++++++++++++++++++++++++++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java | 2
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IdCardReaderService.java | 21 +++++++
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java | 9 ++-
VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java | 40 +++++++++++++
5 files changed, 162 insertions(+), 3 deletions(-)
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
index 2962278..f85f66e 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/fragment/RegisterFragment.java
@@ -1,6 +1,7 @@
package cn.com.basic.face.fragment;
import android.app.Activity;
+import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
@@ -21,6 +22,8 @@
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
+import com.bit.rfid.RFIDReader;
+import com.bit.rfid.ReaderExtra;
import com.bsk.zhangbo.demoforbsk.R;
import cn.com.basic.face.adapter.SurveillanceFragment;
@@ -50,6 +53,7 @@
import cn.com.basic.face.widget.register.RegisterRightFieldTextView;
import cn.com.basic.face.dialog.SelectDialog;
+import com.ivsign.android.IDCReader.IDCReaderSDK;
import com.lidroid.xutils.view.annotation.ViewInject;
import com.lidroid.xutils.view.annotation.event.OnClick;
@@ -57,9 +61,11 @@
import org.xutils.http.RequestParams;
import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
+import java.io.Reader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
@@ -612,6 +618,93 @@
@Override
protected void initData() {
resetForm();
+ readIdCard();
}
+ public void readIdCard() {
+ try {
+ Thread.sleep(100);
+
+ RFIDReader idCardReader = null; //RFIDReader.getInstance(MainActivity.getInstance(), "com");
+ ByteArrayInputStream type = new ByteArrayInputStream("uart".getBytes());
+ idCardReader.control(ReaderExtra.CONNECT, type);
+ idCardReader.setUartDeviceName("/dev/S0");
+
+ idCardReader.open("id_card");
+ String cardId = byteArrayToHexString(idCardReader.getUid());
+
+ idCardReader.open("id_sam");
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ idCardReader.control(ReaderExtra.ID_READ_TEXT_PHOTO, baos);
+ String textPhoto = byteArrayToHexString(baos.toByteArray());
+ if (textPhoto != null) {
+ String[] decodeInfo = new String[10];
+ StringBuilder imagePath = new StringBuilder();
+ String path = MainActivity.getInstance().getFilesDir().getAbsolutePath();
+ IDCReaderSDK.initialize(path);
+ IDCReaderSDK.decodeSamAck(textPhoto, decodeInfo, imagePath);
+ String name = decodeInfo[0];
+ String sex = decodeInfo[1];
+ String nation = decodeInfo[2];
+ String birth = decodeInfo[3];
+ String address = decodeInfo[4];
+ String idNumber = decodeInfo[5];
+ String office = decodeInfo[6];
+ String validDate = decodeInfo[7] + "-" + decodeInfo[8];
+ String photo = imagePath.toString();
+
+ comparePictures();
+ }
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void comparePictures() {
+
+ RequestParams params = new RequestParams();
+
+ if (fragment_register_surveillance_photo_img != null) {
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ fragment_register_surveillance_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+ byte[] imageBytes = byteArrayOutputStream.toByteArray();
+
+ params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", imageBytes));
+ } else {
+ params.addBodyParameter("surveillancePhoto", writeToFile("surveillancePhoto", new byte[]{}));
+ }
+
+
+ if (fragment_register_id_card_photo_img != null) {
+ ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
+ fragment_register_id_card_photo_img.compress(Bitmap.CompressFormat.JPEG, 100, byteArrayOutputStream);
+ byte[] imageBytes = byteArrayOutputStream.toByteArray();
+
+ params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", imageBytes));
+ } else {
+ params.addBodyParameter("idCardPhoto", writeToFile("idCardPhoto", new byte[]{}));
+ }
+
+ RegisterMng.getInstance().compareSurveillancePhotoAndIdCardPhoto(params);
+ }
+
+ protected static final char[] a = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
+ public static String byteArrayToHexString(byte[] bytes) {
+ if(bytes == null) {
+ return null;
+ } else {
+ char[] hexChars = new char[bytes.length * 2];
+
+ for(int j = 0; j < bytes.length; ++j) {
+ int v = bytes[j] & 255;
+ hexChars[j * 2] = a[v >>> 4];
+ hexChars[j * 2 + 1] = a[v & 15];
+ }
+
+ return new String(hexChars);
+ }
+ }
+
+
+
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
index 09cdb4c..ebb95a2 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/DeviceMng.java
@@ -190,7 +190,8 @@
// }
// return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
- return "rtsp://Admin:1234@192.168.1.22/h264";
+// return "rtsp://Admin:1234@192.168.1.22/h264";
+ return "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream";
}
@@ -210,12 +211,14 @@
// if (!"".equals(camera1.getString("fragment_device_right_camera1_ip", ""))) {
// ip = camera1.getString("fragment_device_right_camera1_ip", "");
// }
-// if (!"".equals(camera1.getString("fragment_device_right_camera1_port", ""))) {
+// if (!"".equals(camera1.getString("fragment_device_right_camera1_port", ?
+// ""))) {
// port = camera1.getString("fragment_device_right_camera1_port", "");
// }
//return "rtsp://"+username+":"+password+"@"+ip+":"+port+"/h264/ch1/sub/av_stream";
- return "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream";
+// return "rtsp://admin:a1234567@192.168.1.68:554/h264/ch1/main/av_stream";
+ return "rtsp://admin:a1234567@192.168.1.69:554/h264/ch1/main/av_stream";
}
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IdCardReaderService.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IdCardReaderService.java
new file mode 100644
index 0000000..219ce8a
--- /dev/null
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/IdCardReaderService.java
@@ -0,0 +1,21 @@
+package cn.com.basic.face.service;
+
+import android.app.Service;
+import android.content.Intent;
+import android.os.Binder;
+import android.os.IBinder;
+import android.support.annotation.Nullable;
+
+public class IdCardReaderService extends Service {
+
+ @Nullable
+ @Override
+ public IBinder onBind(Intent intent) {
+ return null;
+ }
+
+ public class IdCardBinder extends Binder {
+
+ }
+
+}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
index 1d9df00..cba98be 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/service/RegisterMng.java
@@ -93,4 +93,44 @@
}
+ public void compareSurveillancePhotoAndIdCardPhoto(RequestParams params) {
+ if (!BaseApplication.deviceAvailable) {
+ return;
+ }
+ try {
+ File path = BaseApplication.getInstance().getFilesDir();
+ File f0 = new File(path, "f0");
+ if (!f0.exists()) {
+ f0.createNewFile();
+ }
+ File f2 = new File(path, "surveillancePhoto");
+ if (!f2.exists()) {
+ f2.createNewFile();
+ }
+ File f4 = new File(path, "idCardPhoto");
+ if (!f4.exists()) {
+ f4.createNewFile();
+ }
+ FileWriter fw0 = new FileWriter(f0);
+ fw0.write("test1");
+ fw0.close();
+
+ params.setUri(AppApi.BASE_URL +AppApi.REGISTER_ID_CARD_AUTH);
+ params.addBodyParameter("f0", f0);
+ params.addBodyParameter("surveillancePhoto", f2);
+ params.addBodyParameter("idCardPhoto", f4);
+ x.http().post(params, new BaseCommonCallBack() {
+ @Override
+ public void success() {
+ Toast.makeText(BaseApplication.getInstance(),"娴嬭瘯鐩镐技搴�", Toast.LENGTH_SHORT).show();
+ }
+ });
+
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ }
+
+
}
diff --git a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
index 3dfb8d2..6109931 100644
--- a/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
+++ b/VisitFace/DemoForBsk/app/src/main/java/cn/com/basic/face/util/AppApi.java
@@ -10,6 +10,8 @@
public static final String REGISTER_ADD = "Register/o_add.do";
+ public static final String REGISTER_ID_CARD_AUTH = "Register/v_id_card_auth.do";
+
public static final String DICTIONARY_ADD = "Dictionary/o_add.do";
public static final String VISIT_ADD = "Visit/o_add.do";
--
Gitblit v1.8.0