如何在安卓系统中扫描二维码

2022-09-02 05:18:26

我找到了一个关于如何扫描条形码的教程。但是在我的应用程序中,我必须扫描QR码。如何在安卓系统中扫描二维码?


答案 1
try {
    Intent intent = new Intent("com.google.zxing.client.android.SCAN");
    intent.putExtra("SCAN_MODE", "QR_CODE_MODE"); // "PRODUCT_MODE for bar codes

    startActivityForResult(intent, 0);
} catch (Exception e) {    
    Uri marketUri = Uri.parse("market://details?id=com.google.zxing.client.android");
    Intent marketIntent = new Intent(Intent.ACTION_VIEW,marketUri);
    startActivity(marketIntent);
}

onActivityResult():

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == 0) {
        if (resultCode == RESULT_OK) {
            String contents = data.getStringExtra("SCAN_RESULT");
        }
        if(resultCode == RESULT_CANCELLED){
            //handle cancel
        }
    }
}

答案 2

2016年更新

目前的建议是使用 Android 条形码 API,它可以在本地(脱机)工作,而无需服务器往返:

条形码 API 可在设备上以任何方向实时检测条形码。它还可以一次检测多个条形码。

它读取以下条形码格式:

  • 一维条码: EAN-13, EAN-8, UPC-A, UPC-E, Code-39, Code-93, Code-128, ITF, Codabar
  • 二维条码: 二维码, 数据矩阵, PDF-417, AZTEC

它会自动解析QR码,数据矩阵,PDF-417和Aztec值,适用于以下支持的格式:

  • 网址
  • 联系信息(VCARD等)
  • 日历事件
  • 电子邮件
  • 电话
  • 短信
  • 国际书号
  • 无线网络
  • 地理位置(纬度和经度)
  • AAMVA 驾驶执照/身份证

查看代码实验室 - 使用移动视觉 API 进行条形码检测


推荐