期待通りに動作させました。すべてのデコード処理はhandleDecode
、Capture アクティビティ クラスのメソッドによって行われます。だから私は内部でブール変数を初期化しましたonCreate
、
boolean isTensecondsFinished = ture;
次に、isTensecondsFinished
QR コードをデコードするための変数を確認します。ちょうどこのような、
public void handleDecode(Result rawResult, Bitmap barcode) {
inactivityTimer.onActivity();
lastResult = rawResult;
ResultHandler resultHandler = ResultHandlerFactory.makeResultHandler(
this, rawResult);
boolean fromLiveScan = barcode != null;
if (fromLiveScan) {
// historyManager.addHistoryItem(rawResult, resultHandler);
// Then not from history, so beep/vibrate and we have an image to
// draw on
if (isTenSecondsFinished) {
isTenSecondsFinished = false;
Timer tenSecondsTimer = new Timer();
tenSecondsTimer.schedule(new TimerTask() {
@Override
public void run() {
isTenSecondsFinished = true;
}
}, 10 * 1000);
//Do the decoding stuff here then.
}
}
}
これが最も簡単な解決策だと思います。