Android - Barcode Scanning, Options? Zxing?

こ雲淡風輕ζ 提交于 2019-11-28 19:24:15

Developer here. I think you're going to want to just integrate via Intent in the end. You get the improvements, bug fixes, and platform-specific workarounds for free. It's much less code too. But I understand you're asking for an alternative.

You probably want to strip down Barcode Scanner (whose source is in android/ in the project) and strip out everything you don't need. That means leave only about the com.google.zxing.client.android and com.google.zxing.client.android.camera packages. The core decoding is in DecodeThread, but the other code in these packages implements the little callback dance that does the continuous scanning and gets the usual scanning UI.

If you embed the code you need to follow the terms of the Apache License.

Download and extend the Zxing "Barcode Scanner" app by adding your own code. It's under an Apache 2.0 License.

Check out the new Google Play Services 7.8 API that includes Barcode tracking: https://developers.google.com/vision/barcodes-overview

I'd suggest you use Zxing through intents and redirect to Android Market page ("market://details?id=com.google.zxing.client.android") if it's not there (catching ActivityNotFoundException). Intents are great for inter-app communications like this.

I have it working with this:

repositories { mavenCentral()
    maven { url "https://raw.github.com/embarkmobile/zxing-android-minimal/mvn-repo/maven-repository/" }
}

compile 'com.google.zxing:core:3.2.1'
compile 'com.embarkmobile:zxing-android-minimal:2.0.0@aar'
compile 'com.embarkmobile:zxing-android-integration:2.0.0@aar'

I recommend using the IntentIntegrator

IntentIntegrator integrator = new IntentIntegrator(getActivity()); 
integrator.forSupportFragment(this).initiateScan();

The requestCode comes back with

IntentIntegrator.REQUEST_CODE

No need to install a separate scanner

I recommend to use google barcode scan. It is pretty responsive. It is called Google Mobile Vision.

The Barcode Scanner API detects barcodes in real time in any orientation. You can also detect and parse several barcodes in different formats at the same time.

https://developers.google.com/vision/

https://codelabs.developers.google.com/codelabs/bar-codes/#0

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!