使用ZXing在没有GooglePlayServices的Android设备上生成QRCode?

时间:2015-11-18 17:46:42

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

我只需生成 QRCode需要扫描QRCode

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

错误提示说明了这一点:

  

此应用无法在没有Google Play服务的情况下运行,但手机中缺少这些服务。

尽管有这样的错误'警报,应用运行正常,QRCode仍然成功生成。

有人能告诉我这是ZXing库中的错误吗?或者如果我的实施有问题?我不想要错误'警报显示,并且警报似乎错误,因为应用运行良好,QRCode仍然完美生成。

我已经包含了“错误”的屏幕截图。警告(很难拍摄屏幕截图,因为它在屏幕上停留了这么短的时间)。

QRCode generation 'error'

QR代码:

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

1 个答案:

答案 0 :(得分:0)

错误提醒是Android条形码服务的一部分,它不会影响ZXing应用程序/库,因此无需担心。