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有provided a utility class可以集成到您的应用程序中,以便通过将用户重定向到Android Market(如果尚未安装)将ZXing安装更加顺畅。
最后,如果要将条形码扫描直接集成到应用程序中,而不依赖于安装单独的ZXing应用程序,那么这是一个开源项目,您可以这样做! 🙂