Android 应用中的二维码扫描器

QR code scanner in Android app

我想在我的应用程序中扫描二维码。我不想使用 ZXing,因为它指的是 Google 如果用户没有在设备上安装此应用程序,请播放。我还发现了这个: https://github.com/Gnzlt/AndroidVisionQRReader ,但是我无法将它安装到 Android Studio 中,作者提出的所有 3 种方法都失败了。 也许您知道其他事情(也许只是将依赖项放入 gradle)?

只需添加

compile 'com.google.zxing:core:3.2.1'

添加到你的应用 build.gradle 文件的依赖部分,你可以使用 zxing java 界面,无需安装 zxing 应用:

MultiFormatReader mReader = new MultiFormatReader();
Map<DecodeHintType,Object> hints = new EnumMap<DecodeHintType,Object>(DecodeHintType.class);
hints.put(DecodeHintType.TRY_HARDER, true);
// select your barcode formats here
List<BarcodeFormat> formats = Arrays.asList(BarcodeFormat.QR_CODE);
hints.put(DecodeHintType.POSSIBLE_FORMATS, formats);

mReader.setHints(hints);

// your camera image here
Bitmap input;
int width = input.getWidth(), height = input.getHeight();
int[] pixels = new int[width * height];
input.getPixels(pixels, 0, width, 0, 0, width, height);
input.recycle();
input = null;
BinaryBitmap bb = new BinaryBitmap(new HybridBinarizer(new RGBLuminanceSource(width, height, pixels)));
Result result = mReader.decodeWithState(bb);
String resultString = result.getText();

既然这个库使用 Android Vision,你为什么不尝试使用 android-vision 项目作为示例来实现你自己的代码,它会让你有更多的控制权和灵活性样本相当容易理解,直接来自 google。

您可以找到概览here

和 github here

上的示例项目

我尝试了 运行 Barcodereader 示例,它工作得很好(对于 QR 和条形码),MainActivity 和 BarcodeCaptureActivity 主要是您需要为自定义实现编辑的内容。

我找到了问题的答案。这是:https://github.com/dm77/barcodescanner 我使用了 ZXing,但它不需要在设备上安装额外的应用程序。