我编写了一个应用程序来扫描条形码。我试过使用ZXing并且一切正常,但是我会直接使用没有外置App的相机(比如Anobii),有什么方法可以做到ZXing这个吗?
答案 0 :(得分:1)
扩展Flavio的答案你需要查看com.google.zxing.client.android.camera
包,其中包含使用android相机的类
答案 1 :(得分: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
}
}