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