我编写了一个应用程序来扫描条形码。我尝试使用 ZXing 并且一切正常,但我会直接使用相机而不使用外部应用程序(如 Anobii),有什么方法可以做到这一点 ZXing?
问问题
478 次
2 回答
1
CaptureActivity 有方法:
public void handleDecode(Result rawResult, Bitmap barcode)
此方法决定是否调用外部或内部应用程序,您应该将以下代码注释到 switch(source){...} 以避免退出到外部应用程序。:
case NATIVE_APP_INTENT:
case PRODUCT_SEARCH_LINK:
handleDecodeExternally(rawResult, resultHandler, barcode);
break;
case ZXING_LINK:
if (returnUrlTemplate == null) {
handleDecodeInternally(rawResult, resultHandler, barcode);
} else {
handleDecodeExternally(rawResult, resultHandler, barcode);
}
break;
在你可以调用活动的下一个方法中,你应该注释所有并添加下一个代码:
private void handleDecodeInternally(Result rawResult,
ResultHandler resultHandler, Bitmap barcode) {
String resultString = resultHandler.getDisplayContents().toString();
if (resultString.startsWith("some"))//define a regular expression in the qr code{
//do something as call a new activity
}else{
//show error message
}
}
于 2012-11-13T14:18:14.130 回答
1
扩展 Flavio 的答案,您需要查看com.google.zxing.client.android.camera
包含用于使用 android 相机的类的包
于 2012-11-13T13:13:30.350 回答