From 682caa4cef47046184e860d86ebb8467c11e032f Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 16 十一月 2023 15:54:25 +0800
Subject: [PATCH] 生成excl的修改

---
 app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java |   79 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 78 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
index f7edf95..67a3395 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NewCardActivity.java
@@ -1,5 +1,6 @@
 package com.dayu.recharge.activity;
 
+import android.Manifest;
 import android.app.Dialog;
 import android.app.ProgressDialog;
 import android.content.Intent;
@@ -8,6 +9,7 @@
 import android.view.LayoutInflater;
 import android.view.View;
 
+import com.msd.ocr.idcard.LibraryInitOCR;
 import com.dayu.recharge.MyApplication;
 import com.dayu.recharge.card.UserCard;
 import com.dayu.recharge.databinding.ActivityNewCardBinding;
@@ -26,6 +28,10 @@
 import com.dayu.recharge.utils.SocketUtil;
 import com.dayu.recharge.utils.ToastUtil;
 import com.dayu.recharge.utils.WSHelper;
+import com.permissionx.guolindev.PermissionX;
+
+import org.json.JSONException;
+import org.json.JSONObject;
 
 import java.util.Arrays;
 
@@ -37,7 +43,7 @@
  */
 public class NewCardActivity extends BaseNfcActivity {
 
-
+    public static final int SCAN_IDCARD_REQUEST = 1;
     UserCardBean userCardBean;
     Dialog dialog;
 
@@ -54,9 +60,19 @@
         setContentView(newCardBinding.getRoot());
         setData();
         initView();
+        LibraryInitOCR.initOCR(NewCardActivity.this);
     }
 
     private void initView() {
+        //韬唤璇佽瘑鍒�
+        newCardBinding.newCardScanBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+
+                rxPermission();
+            }
+        });
+
         newCardBinding.newCardRegistBtn.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -97,6 +113,67 @@
         });
     }
 
+    private void rxPermission() {
+        PermissionX.init(NewCardActivity.this).permissions(Manifest.permission.CAMERA)
+                .onExplainRequestReason((scope, deniedList) -> {
+
+// val message = "PermissionX闇�瑕佹偍鍚屾剰浠ヤ笅鏉冮檺鎵嶈兘姝e父浣跨敤"
+                })
+                .request((allGranted, grantedList, deniedList) -> {
+                    if (allGranted) {//鎵�鏈夌敵璇风殑鏉冮檺閮藉凡閫氳繃
+                        startCamera();
+                    } else {//鎮ㄦ嫆缁濅簡濡備笅鏉冮檺锛�$deniedList
+
+
+                    }
+                });
+    }
+
+
+    private void startCamera() {
+
+        Bundle bundle = new Bundle();
+        bundle.putBoolean("saveImage", false);
+        bundle.putInt("requestCode", SCAN_IDCARD_REQUEST);
+        bundle.putInt("type", 0); //0韬唤璇�, 1椹鹃┒璇�
+        LibraryInitOCR.startScan(NewCardActivity.this, bundle);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (resultCode == RESULT_OK){
+            switch (requestCode) {
+                case SCAN_IDCARD_REQUEST:
+                    String result = data.getStringExtra("OCRResult");
+                    try {
+                        JSONObject jo = new JSONObject(result);
+
+//                    sb.append(String.format("姝i潰 = %s\n", jo.opt("type")));
+//                    sb.append(String.format("濮撳悕 = %s\n", jo.opt("name")));
+//                    sb.append(String.format("鎬у埆 = %s\n", jo.opt("sex")));
+//                    sb.append(String.format("姘戞棌 = %s\n", jo.opt("folk")));
+//                    sb.append(String.format("鏃ユ湡 = %s\n", jo.opt("birt")));
+//                    sb.append(String.format("鍙风爜 = %s\n", jo.opt("num")));
+//                    sb.append(String.format("浣忓潃 = %s\n", jo.opt("addr")));
+//                    sb.append(String.format("绛惧彂鏈哄叧 = %s\n", jo.opt("issue")));
+//                    sb.append(String.format("鏈夋晥鏈熼檺 = %s\n", jo.opt("valid")));
+//                    sb.append(String.format("鏁翠綋鐓х墖 = %s\n", jo.opt("imgPath")));
+//                    sb.append(String.format("澶村儚璺緞 = %s\n", jo.opt("headPath")));
+
+                        newCardBinding.newCardName.setText(jo.opt("name").toString());
+                        newCardBinding.newCardId.setText(jo.opt("num").toString());
+                        newCardBinding.newCardIdTip.setVisibility(View.VISIBLE);
+
+                    } catch (JSONException e) {
+                        throw new RuntimeException(e);
+                    }
+                    break;
+            }
+        }
+
+    }
+
     private void setData() {
 
         try {

--
Gitblit v1.8.0