Android 身份证18岁以上实名认证( 二 )


识别结果回调函数,重载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是识别身份证正反两面的关键信息,效果如下:

Android 身份证18岁以上实名认证


内容来源:http://img8888.yunnanlong.com/2023/3919/pirryas1nwz

推荐阅读