【发布时间】: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