# 在 MainActivity 中单击某个按钮的代码逻辑:
//先填好数据
Bundle data = new Bundle();
WbCloudOcrSDK.InputData inputData = new WbCloudOcrSDK.InputData(
orderNo,
appId,
openApiAppVersion,
nonce,
userId,
sign);
data.putSerializable(WbCloudOcrSDK.INPUT_DATA, inputData);
//个性化参数设置,可以不设置,不设置则为默认选项。
//设置扫描识别的时间上限,默认20秒,建议默认。用户有效设置范围(0-60000)
data.putLong(WbCloudOcrSDK.SCAN_TIME, 20000);
//初始化 sdk,得到是否登录 sdk 成功的结果
WbCloudOcrSDK.getInstance().init(MainActivity.this, WbCloudOcrSDK.WBOCRTYPEMODE.WBOCRSDKTypeBankSide,data, new WbCloudOcrSDK.OcrLoginListener() {
@Override
public void onLoginSuccess() { //登录成功,拉起 SDK 页面 WbCloudOcrSDK.getInstance().startActivityForOcr(MainActivity.this,
new WbCloudOcrSDK.IDCardScanResultListener() { //返退出 SDK 回调接口
@Override
public void onFinish(String resultCode, String resultMsg) {
// resultCode为0,则识别成功;否则识别失败
if ("0".equals(resultCode)) {
WLogger.d(TAG, "识别成功,识别银行卡的结果是:"+WbCloudOcrSDK.getInstance().getBankCardResult().toString());
} else {
WLogger.d(TAG, "识别失败"+resultCode+”--”+resultMsg);
}
}
});
}
@Override
public void onLoginFailed(String errorCode, String errorMsg) {
if(errorCode.equals(ErrorCode.IDOCR_LOGIN_PARAMETER_ERROR)) {
Toast.makeText(MainActivity.this, "传入参数有误!" + errorMsg, Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(MainActivity.this, "登录 OCR sdk 失败!" + "errorCode= " + errorCode + " ;errorMsg=" + errorMsg, Toast.LENGTH_SHORT).show();
}
}
});