0

我在我的 google glass 项目中实现了 scandit 库,但如果我正在扫描 EAN-13 条形码,最后一位数字总是错误的。例如:我正在扫描值为 2220141633626 的代码,结果是 2220141633624。

这是我在活动 1 中的代码:

public void didScanBarcode(String content, String format) {
    // send the result to another activity.
    Intent resultIntent = new Intent(this, TestingActivity.class);
    resultIntent.putExtra("scanContent", content);
    Log.v("scanbarcode", content);
    startActivity(resultIntent);
}

这是我在活动 2 中的代码:

protected void onCreate(Bundle bundle) {
    super.onCreate(bundle);
    setContentView(R.layout.testing);

    Intent resultIntent = getIntent();
    String scanContent = resultIntent.getExtras().getString("scanContent");
    serialNumber = Long.parseLong(scanContent);
    Log.e("string ", "" + scanContent);
    Log.e("long ", "" + serialNumber);

}

我的第一个活动的 didScanBarcode 方法中的内容已经是错误的。

4

1 回答 1

2

2220141633626不是有效的 EAN-13 代码,2220141633624而是。

前 12 个数字是实际数字,而第 13 个数字是“校验位”。的校验位2220141633624

参见例如http://www.morovia.com/education/utility/upc-ean.asp222014163362在 ean-13 字段中输入并按“计算”

于 2014-06-13T13:13:23.733 回答