私のアプリは、ZXingヘルパークラスのIntentIntegratorとIntentResultを使用してZXingバーコードスキャナーを利用しています。
ZXingから送信されたスキャン結果がなくなったことがわかりました。関連する戻り値は、空/nullです。
したがって、最新のヘルパークラスhttp://code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/IntentIntegrator.javaおよびhttp:/に更新しました。 /code.google.com/p/zxing/source/browse/trunk/android-integration/src/com/google/zxing/integration/android/IntentResult.java
これで、ZXingが開始された直後にonActivityResultメソッドが呼び出されます。もちろん、結果は空になります。
私のコードは非常に単純で、スキャンは次のように開始されます。
if (v==scanButton)
{
com.google.zxing.integration.android.IntentIntegrator integrator = new IntentIntegrator(this);
integrator.initiateScan();
}
次の方法で結果を取得します。
public void onActivityResult(int requestCode, int resultCode, Intent intent)
{
com.google.zxing.integration.android.IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
if (scanResult != null)
{
String format;
format=scanResult.getFormatName();
if ((format!=null) && (format.length()>0))
{
if ((format.equals("EAN_8")) || (format.equals("EAN_13")) ||(format.equals("UPC_A")) ||(format.equals("UPC_E")))
getEANData(scanResult.getContents());
}
}
}
私のAndroidには、最新のZXingコードがインストールされています。それがもう機能しない理由はありますか?