我想制作一个应用程序,用户从产品中扫描条形码,然后Android手机将显示有关产品的一些细节(来自数据库)。 我在我的Android手机上安装了ZXing条码扫描器,用于调试我的应用程序。当我使用ZXing应用程序时,它会扫描条形码。 但是当我从我的android项目中打开ZXing时,我在另一篇文章中找到了以下代码,它没有扫描条形码。我可以在手机的相机中看到红线,但它没有显示绿点'读'条形码。
Calling barcode scanner on a button click in android application
为什么会发生这种情况? 提前致谢
答案 0 :(得分:1)
尝试下面的代码。 这是我自己用过的工作代码。
public class MyTestActivity extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
Button b = new Button(this);
b.setText("Scan");
b.setWidth(100);
LinearLayout ll = new LinearLayout(this);
b.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
startActivityForResult(intent, 0);
}
});
ll.addView(b);
setContentView(ll);
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
// IntentResult scanResult = IntentIntegrator.parseActivityResult(
// requestCode, resultCode, intent);
if (requestCode == 0) {
if (resultCode == RESULT_OK) {
String contents = intent.getStringExtra("SCAN_RESULT");
String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
Dialog d = new Dialog(this);
LinearLayout ll = new LinearLayout(this);
TextView tv = new TextView(this);
tv.setText(contents+" "+format);
ll.addView(tv);
d.setContentView(ll);
d.show();
}
}
}
}
希望有所帮助
答案 1 :(得分:0)
请使用我们提供的预先打包的集成代码,而不是调试您的意图代码:http://code.google.com/p/zxing/wiki/ScanningViaIntent
答案 2 :(得分:0)
谢尔盖,上面的代码将用于QR码,而不是条形码,你是否测试过条形码。
请告诉我Zxing lib的条形码工作人员。
答案 3 :(得分:0)
我有同样的问题,要解决改变
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
到
intent.putExtra("PRODUCT_MODE", "QR_CODE_MODE");