【问题标题】:How to find out that the Barcode has been scanned?如何确定条形码已被扫描?
【发布时间】:2020-06-07 00:00:59
【问题描述】:

我有这个方法来生成条形码位图:

public static Bitmap encodeToQrCode(String text, int width, int height) {
    QRCodeWriter writer = new QRCodeWriter();
    BitMatrix matrix = null;
    try {
        matrix = writer.encode(text, BarcodeFormat.QR_CODE, 400, 400);
    } catch (WriterException ex) {
        ex.printStackTrace();
    }
    Bitmap bmp = Bitmap.createBitmap(width, height, Bitmap.Config.RGB_565);
    for (int x = 0; x < width; x++) {
        for (int y = 0; y < height - 1; y++) {
            bmp.setPixel(x, y, matrix.get(x, y) ? Color.BLACK : Color.WHITE);
        }
    }
    return bmp;
}

有什么方法可以查出条码是否已被扫描?我正在使用 zxing。

【问题讨论】:

  • 要么我没有得到你想要的,要么我不得不问你:认真的?这种魔法应该如何发生?还是您正在尝试实现一些扫描功能并想知道 zxing 何时解码了某些东西?在这种情况下:为什么你认为你用来创建二维码的代码应该与问题相关?您不认为您用于扫描条码的代码在这种情况下是相关的吗?
  • 为什么不应该认真?我只是问有没有办法?如果您不明白我想要什么,我可以向您解释:当用户扫描我在应用程序中显示的条形码而不是打印形式时,我问是否有办法知道用户已经扫描了条形码。
  • 不,你的问题是:这里,我用二维码创建了一个位图,我怎么知道它是否被扫描?同理:在这里,我拍了一张照片,然后打印出来。我怎么知道有人看过?如果您想知道如何扫描条形码/二维码,与您如何创建代码完全无关。您需要向我们展示您用于扫描代码的代码。你需要提出正确的问题。
  • 是的,我明白你的意思。我从来没有用过yxing,我想也许zxing有这个功能可以发现在APP中没有扫描条形码,而不是原始形式。问题是用户可以使用任何条码扫描仪来扫描条码,所以我无法控制条码扫描条码
  • 啊哈,所以您想显示条形码,然后如果其他使用不同应用程序的用户扫描了代码,您想执行一些操作?这是不可能的。

标签: java android zxing barcode-scanner


【解决方案1】:

如果我理解正确,您正在寻找一种方法

  1. 创建包含 QR 码的位图
  2. 在您的设备上显示该位图
  3. 检测不使用您的软件的其他设备何时扫描该代码

这是不可能的。 QR 码位图就是这样:您的应用程序显示的位图。条形码扫描仪应用程序只需拍摄您的显示器照片并尝试在该位图中查找模式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-16
    • 1970-01-01
    • 2017-06-22
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多