识别结果回调函数,重载onSuccess,onCanceled,onFailure,onDenied四个方法;onSuccess 表示识别成功,MLCnIcrCaptureResult为识别返回结果,onCanceled 表示用户取消,onFailure 表示识别失败,onDenied 表示相机不可用等场景 。
private MLCnIcrCapture.Callback idCallback = new MLCnIcrCapture.Callback() { @Override public void onSuccess(MLCnIcrCaptureResult idCardResult){ // 识别成功处理 。} @Override public void onCanceled(){ // 用户取消处理 。} // 识别不到任何文字信息或识别过程发生系统异常的回调方法 。// retCode:错误码 。// bitmap:检测失败的身份证图片 。@Override public void onFailure(int retCode, Bitmap bitmap){ // 识别异常处理 。} @Override public void onDenied(){ // 相机不支持等场景处理 。}}
设置识别参数??设置识别参数,调用识别器capture接口进行识别,识别结果会通过步骤1的回调函数返回 。
private void startCaptureActivity(MLCnIcrCapture.Callback callback, boolean isFront, boolean isRemote) { MLCnIcrCaptureConfig config = new MLCnIcrCaptureConfig.Factory() // 设置识别身份证的正反面 。// true:正面 。// false:反面 。.setFront(true) // 设置是否使用云侧能力进行识别 。// true:云侧 。// false:端侧 。.setRemote(false) .create(); MLCnIcrCapture icrCapture = MLCnIcrCaptureFactory.getInstance().getIcrCapture(config); icrCapture.capture(callback, this);}
实现身份识别??在检测按钮的回调中,调用步骤2中定义的方法,实现身份证识别 。
@Overridepublic void onClick(View v) { switch (v.getId()) { // 识别正面按钮 。case R.id.IDCard_image_front: startCaptureActivity(idCallback, true, false); break; // 识别背面按钮 。case R.id.IDCard_image_back: startCaptureActivity(idCallBack, false, false); break; default: break; }}
Demo效果??这个demo是识别身份证正反两面的关键信息,效果如下:

内容来源:http://img8888.yunnanlong.com/2023/3919/pirryas1nwz
推荐阅读
- 四十岁以上的女人喝纯牛奶好还是喝酸奶好?
- 40岁以上的人可以跑步吗?
- 为什么26岁以上不能打九价疫苗?四价、九价区别?
- 身份证到期可以异地办理吗
- 可以异地办理身份证吗
- 魅族手机android怎么升级
- 身份证可以异地办理吗
- 怎么查身份证有没有办好
- 手机实名制怎么改名字
- 长期身份证多少岁可以办理
