【问题标题】:Using ZXing to generate QRCode on Android device without GooglePlayServices?使用 ZXing 在没有 Google Play Services 的 Android 设备上生成二维码?
【发布时间】:2015-11-18 17:46:41
【问题描述】:

我只需要生成一个QRCode,我不需要扫描QRCode

我可以成功生成QRCode,但是当我在没有安装Google Play Services 的Android 设备上生成上述代码时,我会在一瞬间收到错误警报。但错误警报几乎立即离开屏幕,QRCode 成功显示。错误警报在屏幕上显示的时间很短,您甚至都无法阅读。

错误警报是这样说的:

如果没有 Google Play 服务,此应用将无法运行,而您的手机中缺少这些服务。

尽管有这个“错误”警报,应用程序运行良好,QRCode 仍然成功生成。

谁能告诉我这是否是ZXing 库中的错误?或者如果我的实施有问题?我不希望显示“错误”警报,并且该警报似乎是错误的,因为应用程序运行良好并且 QRCode 仍然完美生成。

我已经包含了“错误”警报的屏幕截图(很难截取屏幕截图,因为它在屏幕上停留的时间如此之短)。

二维码生成码:

private Bitmap encodeAsBitmap(String str) throws WriterException {

    try {
        result = new MultiFormatWriter().encode(str, BarcodeFormat.QR_CODE, width, height, null);
    } catch (IllegalArgumentException iae) {
        // Unsupported format
        return null;
    }

    int width = result.getWidth();
    int height = result.getHeight();
    int[] pixels = new int[width * height];
    for (int y = 0; y < height; y++) {
        int offset = y * width;
        for (int x = 0; x < width; x++) {
            pixels[offset + x] = result.get(x, y) ? BLACK : WHITE;
        }
    }

    Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    bitmap.setPixels(pixels, 0, width, 0, 0, width, height);
    return bitmap;
}

更新:我关注了这篇 SO 帖子来帮助生成:QRCode Generation

【问题讨论】:

  • @MarcinOrlowski,这不是一个非常有建设性的评论。请原谅我试图询问其他人是否遇到过这个问题,我想知道这是一个错误还是我做错了什么,然后再做其他事情......
  • 您可以尝试使用这些codes通过zxing生成条码。另外,这可能是一个内部错误,您可以在这里报告:github.com/zxing/zxing/issues
  • @bjiang,我正在使用几乎相同的方法。所以我有点认为它实际上可能是一个内部错误。在提交错误报告之前,我会进一步研究一下。谢谢你:)
  • 没问题,很高兴为您提供帮助:)
  • 显然错误警报不会影响 ZXing 库。所以使用起来很安全。

标签: android google-play google-play-services qr-code zxing


【解决方案1】:

错误提示是Android条码服务的一部分,不会影响ZXing应用/库,所以不用担心。

【讨论】:

    猜你喜欢
    • 2014-04-17
    • 1970-01-01
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多