一尘不染

如何创建条形码扫描仪(Android)?

java

有人可以告诉我创建条形码扫描器应用程序(对于Android)是否困难?OpenCV库是一个好的开始吗?在哪里可以找到清楚说明如何读取条形码的算法?我将感谢有关该主题的所有优秀材料!

提前致谢!


阅读 200

收藏
2020-12-03

共1个答案

一尘不染

ZXing项目提供了一个独立的条形码读取器应用程序-通过Android的意图机制-希望集成条形码扫描的其他应用程序可以调用该应用程序。

最简单的方法是从应用程序中调用ZXing SCAN Intent,如下所示:

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
        }
    }
}

按下链接到mScan的按钮将直接启动ZXing条码扫描器屏幕(如果未安装ZXing,则崩溃)。一旦识别出条形码,您将在“活动”中的“内容”变量中收到结果。

为了避免崩溃并为您简化事情,ZXing
提供了一个实用程序类
,您可以将其集成到您的应用程序中,从而通过将用户重定向到尚未安装的Android Market来使ZXing的安装更加流畅。

最后,如果您希望将条形码扫描直接集成到您的应用程序中而不依赖于安装单独的ZXing应用程序,那么这是一个开源项目,您可以这样做!:)

2020-12-03