【问题标题】:Stop Scaning for Barcodes by Zxing in Android停止在 Android 中通过 Zxing 扫描条码
【发布时间】:2013-01-18 18:45:48
【问题描述】:

我正在开发一个使用 Zxing 库来读取二维码的 Android 应用程序。现在我差不多完成了,只剩下一个问题。

我需要应用程序在特定事件后停止扫描 10 秒。我已经让线程休眠 10 秒,这不是我想要的方式。我想应用一切正常。但它不应该让用户知道它没有扫描任何东西。

你能解释一下怎么做吗?我可以使用计时器方法。但是Zxing中的哪个方法应该停10秒呢?

【问题讨论】:

    标签: android timer qr-code zxing scanning


    【解决方案1】:

    查看文件InactivityTimer.java,有这一行:

    private static final int INACTIVITY_DELAY_SECONDS = 5 * 60;
    

    在那里您可以看到超时设置为 5 分钟。只需修改这个值。

    【讨论】:

    • InactivityTimer.java 类用于在应用程序在 INACTIVITY_DELAY_SECONDS 次不活动时完成活动。这不是我想要的兄弟。 :(
    • 好吧,我想念你的问题。您还可以使用ScheduledExecutorService 类来执行可运行的延迟,例如打印吐司。如果不再需要,您可以取消它。
    【解决方案2】:

    我让它按预期工作。所有的解码都是由 Capture 活动类中的handleDecode 方法完成的。所以我在onCreate里面初始化了一个布尔变量,

    boolean isTensecondsFinished = ture;
    

    然后我检查isTensecondsFinished 变量以解码二维码。就这样,

    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.
                        }
                }
    }
    

    我认为这是最简单的解决方案。

    【讨论】:

      猜你喜欢
      • 2015-10-24
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多