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 番目が「チェック ディジット」です。のチェックデジットは222014163362です4

たとえばhttp://www.morovia.com/education/utility/upc-ean.asp222014163362を参照して、ean-13 フィールドに入力し、「計算」を押します。

于 2014-06-13T13:13:23.733 に答える