app ocr 初始化放在main主页

This commit is contained in:
fl 2025-06-26 13:07:38 +08:00
parent aa59ba3c26
commit db0d5ad950
8 changed files with 138 additions and 78 deletions

View File

@ -1,5 +1,5 @@
{
"version": 1,
"version": 3,
"artifactType": {
"type": "APK",
"kind": "Directory"
@ -10,11 +10,11 @@
{
"type": "SINGLE",
"filters": [],
"properties": [],
"attributes": [],
"versionCode": 45,
"versionName": "20.0.4",
"enabled": true,
"versionName": "20.0.5",
"outputFile": "app-release.apk"
}
]
],
"elementType": "File"
}

View File

@ -36,6 +36,9 @@ import com.alibaba.fastjson.JSONObject;
import com.baidu.navisdk.adapter.BaiduNaviManagerFactory;
import com.baidu.navisdk.adapter.IBaiduNaviManager;
import com.baidu.navisdk.adapter.struct.BNTTsInitConfig;
import com.baidu.ocr.sdk.OCR;
import com.baidu.ocr.ui.camera.CameraNativeHelper;
import com.baidu.ocr.ui.camera.CameraView;
import com.bonus.gzvis.app.adapter.DrawerAdapter;
import com.bonus.gzvis.app.adapter.ListAdapter;
import com.bonus.gzvis.app.adapter.SimpleRecyclerAdapter;
@ -153,6 +156,7 @@ public class MainActivity extends BaseActivity implements DrawerAdapter.OnItemSe
if (initDirs()) {
initNavi();
}
initIdCardOCR();
if (isP){
//更新
if (OffLineUnitl.isNetworkConnected(getApplicationContext())) {
@ -456,6 +460,37 @@ public class MainActivity extends BaseActivity implements DrawerAdapter.OnItemSe
});
}
/**
* ocr初始化
*/
public void initIdCardOCR() {
// 初始化本地质量控制模型,释放代码在onDestory中
// 调用身份证扫描必须加上 intent.putExtra(CameraActivity.KEY_NATIVE_MANUAL, true); 关闭自动初始化和释放本地模型
CameraNativeHelper.init(this, OCR.getInstance(this).getLicense(),
new CameraNativeHelper.CameraNativeInitCallback() {
@Override
public void onError(int errorCode, Throwable e) {
String msg;
switch (errorCode) {
case CameraView.NATIVE_SOLOAD_FAIL:
msg = "加载so失败请确保apk中存在ui部分的so";
break;
case CameraView.NATIVE_AUTH_FAIL:
msg = "授权本地质量控制token获取失败";
break;
case CameraView.NATIVE_INIT_FAIL:
msg = "本地质量控制";
break;
default:
msg = String.valueOf(errorCode);
}
Log.e("errorCode", msg + "");
Toast.makeText(MainActivity.this,
"身份证OCR识别"+msg, Toast.LENGTH_SHORT).show();
}
});
}
/**
* 初始化TTS
*/

View File

@ -927,35 +927,36 @@ public class ClientManageContentFragment extends BaseFragment {
* 初始化OCR
*/
public void initIdCardOcr() {
//Main里面调了,就不掉了
// 初始化本地质量控制模型,释放代码在onDestory中
// 调用身份证扫描必须加上 intent.putExtra(CameraActivity.KEY_NATIVE_MANUAL, true); 关闭自动初始化和释放本地模型
CameraNativeHelper.init(getActivity(), OCR.getInstance(getActivity()).getLicense(),
new CameraNativeHelper.CameraNativeInitCallback() {
@Override
public void onError(int errorCode, Throwable e) {
String msg;
switch (errorCode) {
case CameraView.NATIVE_SOLOAD_FAIL:
msg = "加载so失败请确保apk中存在ui部分的so";
break;
case CameraView.NATIVE_AUTH_FAIL:
msg = "授权本地质量控制token获取失败";
break;
case CameraView.NATIVE_INIT_FAIL:
msg = "本地质量控制";
break;
default:
msg = String.valueOf(errorCode);
}
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
XToastUtils.error("身份证模型初始化:" + msg);
}
});
Log.e("errorCode", msg + "");
}
});
// CameraNativeHelper.init(getActivity(), OCR.getInstance(getActivity()).getLicense(),
// new CameraNativeHelper.CameraNativeInitCallback() {
// @Override
// public void onError(int errorCode, Throwable e) {
// String msg;
// switch (errorCode) {
// case CameraView.NATIVE_SOLOAD_FAIL:
// msg = "加载so失败请确保apk中存在ui部分的so";
// break;
// case CameraView.NATIVE_AUTH_FAIL:
// msg = "授权本地质量控制token获取失败";
// break;
// case CameraView.NATIVE_INIT_FAIL:
// msg = "本地质量控制";
// break;
// default:
// msg = String.valueOf(errorCode);
// }
// getActivity().runOnUiThread(new Runnable() {
// @Override
// public void run() {
// XToastUtils.error("身份证模型初始化:" + msg);
// }
// });
// Log.e("errorCode", msg + "");
// }
// });
}

View File

@ -375,10 +375,10 @@ public class FirstLoginFragment extends BaseFragment implements View.OnClickList
displayImage(filePath, "1");
} else {
XToastUtils.error("未识别出正面身份证,请重新识别!");
XToastUtils.showToast(-1,"未识别出正面身份证,请重新识别!");
}
} else {
XToastUtils.error("未识别出正面身份证,请重新识别!");
XToastUtils.showToast(-1,"未识别出正面身份证,请重新识别!");
}
} catch (IOException e) {
e.printStackTrace();

View File

@ -586,29 +586,30 @@ public class PayCardFragment extends BaseFragment {
}
public void initSalaryCardOcr() {
//Main里面调了,就不掉了
// 初始化本地质量控制模型,释放代码在onDestory中
// 调用身份证扫描必须加上 intent.putExtra(CameraActivity.KEY_NATIVE_MANUAL, true); 关闭自动初始化和释放本地模型
CameraNativeHelper.init(getActivity(), OCR.getInstance(getActivity()).getLicense(),
new CameraNativeHelper.CameraNativeInitCallback() {
@Override
public void onError(int errorCode, Throwable e) {
String msg;
switch (errorCode) {
case CameraView.NATIVE_SOLOAD_FAIL:
msg = "加载so失败请确保apk中存在ui部分的so";
break;
case CameraView.NATIVE_AUTH_FAIL:
msg = "授权本地质量控制token获取失败";
break;
case CameraView.NATIVE_INIT_FAIL:
msg = "本地质量控制";
break;
default:
msg = String.valueOf(errorCode);
}
Log.e("errorCode", msg + "");
}
});
// CameraNativeHelper.init(getActivity(), OCR.getInstance(getActivity()).getLicense(),
// new CameraNativeHelper.CameraNativeInitCallback() {
// @Override
// public void onError(int errorCode, Throwable e) {
// String msg;
// switch (errorCode) {
// case CameraView.NATIVE_SOLOAD_FAIL:
// msg = "加载so失败请确保apk中存在ui部分的so";
// break;
// case CameraView.NATIVE_AUTH_FAIL:
// msg = "授权本地质量控制token获取失败";
// break;
// case CameraView.NATIVE_INIT_FAIL:
// msg = "本地质量控制";
// break;
// default:
// msg = String.valueOf(errorCode);
// }
// Log.e("errorCode", msg + "");
// }
// });
}
public void initSalaryGridView() {

View File

@ -175,29 +175,30 @@ public class CollectionSubApproachFragment extends BaseFragment implements TabLa
}
public void initIdCardOCR() {
//Main里面调了,就不掉了
// 初始化本地质量控制模型,释放代码在onDestory中
// 调用身份证扫描必须加上 intent.putExtra(CameraActivity.KEY_NATIVE_MANUAL, true); 关闭自动初始化和释放本地模型
CameraNativeHelper.init(getActivity(), OCR.getInstance(getActivity()).getLicense(),
new CameraNativeHelper.CameraNativeInitCallback() {
@Override
public void onError(int errorCode, Throwable e) {
String msg;
switch (errorCode) {
case CameraView.NATIVE_SOLOAD_FAIL:
msg = "加载so失败请确保apk中存在ui部分的so";
break;
case CameraView.NATIVE_AUTH_FAIL:
msg = "授权本地质量控制token获取失败";
break;
case CameraView.NATIVE_INIT_FAIL:
msg = "本地质量控制";
break;
default:
msg = String.valueOf(errorCode);
}
Log.e("errorCode", msg + "");
}
});
// CameraNativeHelper.init(getActivity(), OCR.getInstance(getActivity()).getLicense(),
// new CameraNativeHelper.CameraNativeInitCallback() {
// @Override
// public void onError(int errorCode, Throwable e) {
// String msg;
// switch (errorCode) {
// case CameraView.NATIVE_SOLOAD_FAIL:
// msg = "加载so失败请确保apk中存在ui部分的so";
// break;
// case CameraView.NATIVE_AUTH_FAIL:
// msg = "授权本地质量控制token获取失败";
// break;
// case CameraView.NATIVE_INIT_FAIL:
// msg = "本地质量控制";
// break;
// default:
// msg = String.valueOf(errorCode);
// }
// Log.e("errorCode", msg + "");
// }
// });
}
private PagerAdapter mPagerAdapter = new PagerAdapter() {

View File

@ -8,8 +8,6 @@ public class WorkConfig {
* test 测试
* prod 固定
*/
// @Value("${environment}")
// public static String environment;
public static String environment = "test";

View File

@ -6,6 +6,7 @@ import androidx.annotation.StringRes;
import com.xuexiang.xui.XUI;
import com.xuexiang.xui.widget.toast.XToast;
import com.xuexiang.xutil.XUtil;
/**
* xtoast 工具类
@ -19,6 +20,29 @@ public final class XToastUtils {
throw new UnsupportedOperationException("u can't instantiate me...");
}
public static void showToast(Integer key, String msg) {
XUtil.runOnUiThread(new Runnable() {
@Override
public void run() {
switch (key) {
case -1:
XToastUtils.error(msg);
break;
case 0:
XToastUtils.warning(msg);
break;
case 1:
XToastUtils.success(msg);
break;
default:
XToastUtils.info(msg);
break;
}
}
});
}
static {
XToast.Config.get()
.setAlpha(200)