waj*_*jiw 164 android barcode barcode-scanner zxing
我一直在搜索如何在我的应用程序中添加条形码扫描仪.有没有人知道任何例子或知道如何轻松地做到这一点?
Chr*_*Orr 208
ZXing项目提供了一个独立的条形码阅读器应用程序 - 通过Android的意图机制 - 可以被其他希望集成条形码扫描的应用程序调用.
最简单的方法是SCAN
Intent
从您的应用程序中调用ZXing ,如下所示:
public Button.OnClickListener mScan = new Button.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
startActivityForResult(intent, 0);
}
};
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
// Handle successful scan
} else if (resultCode == RESULT_CANCELED) {
// Handle cancel
}
}
}
Run Code Online (Sandbox Code Playgroud)
按下链接的按钮mScan
将直接启动到ZXing条形码扫描仪屏幕(如果未安装ZXing,则会崩溃).一旦识别出条形码,您将Activity
在contents
变量中收到结果.
为了避免崩溃并简化您的工作,ZXing 提供了一个实用程序类,您可以将其集成到您的应用程序中,通过将用户重定向到Android Market(如果他们尚未安装),可以使ZXing的安装更加顺畅.
最后,如果您想要将条形码扫描直接集成到您的应用程序中而不依赖于安装单独的ZXing应用程序,那么它就是一个开源项目,您可以这样做!:)
编辑:有人编辑了这个指南到这个答案(听起来有点奇怪,我不能保证其准确性,我不知道为什么他们在2015年使用Eclipse):
一步一步在eclipse中设置zxing 3.2.1
小智 41
直到我找到一些网站(我现在再也找不到它)时,我遇到了一个问题,我解释说你需要在intent.putExtra的名称中包含软件包名称.
它会拉起应用程序,但不会识别任何条形码,当我更改它时.
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
Run Code Online (Sandbox Code Playgroud)
至
intent.putExtra("com.google.zxing.client.android.SCAN.SCAN_MODE", "QR_CODE_MODE");
Run Code Online (Sandbox Code Playgroud)
它运作得很好.对于任何其他新手andorid程序员来说只是一个提示.
Yac*_*ack 23
使用提供的IntentInegrator更好.它允许您提示用户安装条形码扫描仪,如果他们没有.它还允许您自定义消息.IntentIntegrator.REQUEST_CODE常量保存onActivityResult的请求代码的值,以在上面的if块中检查.
IntentIntegrator intentIntegrator = new IntentIntegrator(this); // where this is activity
intentIntegrator.initiateScan(IntentIntegrator.ALL_CODE_TYPES); // or QR_CODE_TYPES if you need to scan QR
Run Code Online (Sandbox Code Playgroud)
Ara*_*cem 11
如果要包含在代码中而不使用Zxing库建议的IntentIntegrator,可以使用其中的一些端口
http://code.google.com/p/android-zxinglib/
http://code.google.com/p/android-quick-response-code/
我使用第一个并且完美!它有一个示例项目来尝试它
Mic*_*son 11
使用Zxing这种方式需要用户也安装条形码扫描仪应用程序,这是不理想的.你可能想要的是直接将Zxing捆绑到你的应用程序中.
我强烈建议使用这个库:https://github.com/dm77/barcodescanner
它需要您尝试直接集成Xzing或Zbar的所有疯狂构建问题.它使用了这些库,但是将它们包装在一个非常简单易用的API中.