1、先安装OcrApiService.apk(必须要安装,否则不能扫码),在安装测试应用ocrtest.apk
2、集成jar
3、方式一,调用接口
在onCreate中 初始化 OcrApiUtil ocrApiUtil= new OcrApiUtil(this);
调用扫码接口,通过回调接收扫码结果
ocrApiUtil.startScanCode(new ScanCodeCallBack() {
@Override
public void onScanResult(final boolean success, final String codeData, final String errMsg) {
Log.i("xuxl", "扫码回调onScanResult:" + success + "\nerrMsg=" + errMsg + "\ncode:" + codeData);
runOnUiThread(new Runnable() {
@Override
public void run() {
scanResult.setText("onScanResult:" + success + "\nerrMsg=" + errMsg + "\ncode:" + codeData);
}
});
}
@Override
public void onBackKeyPressed() {
Log.i("xuxl", "扫码回调onBackKeyPressed");
finish();
}
});
停止扫码接口
ocrApiUtil.stopScanCode();
释放连接接口,在ondestroy中调用
ocrApiUtil.release();
4、方式2 通过打开activity的方式打开扫码页面
Intent intent = new Intent();
intent.setClassName("com.telpo.tps550.api", "com.telpo.tps550.api.barcode.Capture");
try {
startActivityForResult(intent, 0x124);
} catch (ActivityNotFoundException e) {
Toast.makeText(MainActivity.this, "未安装扫码api",
Toast.LENGTH_LONG).show();
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0x124) {
if (resultCode == 0) {
if (data != null) {
mBeepManager.playBeepSoundAndVibrate();
String qrcode = data.getStringExtra("qrCode");
// change(qrcode);
Toast.makeText(MainActivity.this, "Scan result:" + qrcode, Toast.LENGTH_LONG).show();
return;
}
} else {
Toast.makeText(MainActivity.this, "Scan Failed", Toast.LENGTH_LONG).show();
}
}
}