我正在尝试使用Cordova/Phonegap BarcodeScanner并在从某个角度扫描条形码时遇到奇怪的行为。
假设我有一个EAN_13
类型的条形码并且完全扫描它我得到了正确的结果,但当我转动相机并尝试从更坏的角度扫描时,结果不再适合。我发现扫描结果的类型现在是EAN_8
,甚至是UPC_E
。
我的问题是,我可以告诉我的条形码扫描器只扫描某种类型的条形码,这样就不会出现错误的结果吗?据我测试过,当从应用商店使用条形码扫描器应用程序时,不会发生这种行为。在这里,我得到了正确的结果,或者根本没有识别出任何代码。
提前感谢任何帮助或提示。
答案 0 :(得分:1)
scan函数接受第三个参数,一个配置对象,它包含作为附加内容发送给ZXing的值。 ZXing提供了两种启用/禁用条形码格式的选项:SCAN_MODE
和SCAN_FORMATS
,其中SCAN_MODE是常用格式组合的预设。
cordova.plugins.barcodeScanner.scan(
function (result) {
alert("We got a barcode\n" +
"Result: " + result.text + "\n" +
"Format: " + result.format + "\n" +
"Cancelled: " + result.cancelled);
},
function (error) {
alert("Scanning failed: " + error);
},
{
// "SCAN_MODE": "PRODUCT_MODE",
"SCAN_FORMATS": "EAN_13"
}
);
您可以使用SCAN_MODE
或SCAN_FORMATS
,但不能同时使用两者。在您的情况下,您只能启用EAN_13
以防止误报匹配。