我在谷歌眼镜项目中实施了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方法中的内容已经错误。
答案 0 :(得分:2)
2220141633626
不是有效的EAN-13代码,2220141633624
是。
前12个数字是实际数字,而第13个数字是'校验位数'。 222014163362
的校验位为4
。
例如,请参阅http://www.morovia.com/education/utility/upc-ean.asp,在ean-13字段中输入222014163362
,然后按'计算'