我正在使用zxing在我的应用程序中实现条形码扫描程序。 问题是扫描结果总是检测到UPC-E作为扫描格式并返回错误的结果。有什么方法可以解决这个问题吗?
我使用以下代码启动扫描:
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");//for Qr code, its "QR_CODE_MODE" instead of "PRODUCT_MODE"
intent.putExtra("SAVE_HISTORY", false);//this stops saving ur barcode in barcode scanner app's history
startActivityForResult(intent, 0);
和OnActivity块如下:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Log.d("SEARCH_EAN", "OK, EAN: " + contents + ", FORMAT: " + format);//this is the result
} else
if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
使用Barcode-4.7.3.apk安装了条码扫描器 任何线索都将受到赞赏。
答案 0 :(得分:2)
你的例子有很多问题。首先,您要添加不需要的核心库代码,因为您要按@Pointcut("within(*..*Service)")
public void inServiceClass() {}
进行集成。
其次,出于某种原因,您要调用扫描两次。第二组代码什么都不做。相机参数代码也没有任何作用。
第三,我认为你使用的是另一个项目,而不是Intent
用于集成,因为项目中没有zxing
方法。除非我忘了这是旧版本或其他东西。
最后,您正在扫描所有setDesiredBarcodeFormats
而不是您想要的格式。
答案 1 :(得分:-1)
使用此代码对我有用。