android 如何通过条形码获取信息?

vqlkdk9b  于 2023-06-04  发布在  Android
关注(0)|答案(5)|浏览(132)

我是一个新的android开发者,我试图创建一个使用条形码的应用程序。我尝试ZXing,它是非常容易的。但是现在我需要通过条形码获得产品信息。我该怎么做?

hi3rlvi2

hi3rlvi21#

您需要使用某种Web服务来查找与UPC/EAN代码相关的产品信息,例如使用AsyncTask。Google搜索结果显示,Internet UPC Database
以下是他们提供的数据的示例记录:http://www.upcdatabase.com/item/0081697521221
请仔细阅读他们的ToS:http://www.upcdatabase.com/docs/terms.asp

daolsyd0

daolsyd02#

要使用一维条形码,请使用PRODUCT_MODE。如果你想扫描所有的文件,不要在extras scan_mode中设置任何东西。

Intent intent = new Intent("com.google.zxing.client.android.SCAN");
intent.setPackage("com.google.zxing.client.android");
//intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
startActivityForResult(intent, 0);
mpbci0fu

mpbci0fu3#

条形码只给你一个数字(产品编号)。您需要有一个Web服务,您可以发送此号码以获取更多详细信息。

l0oc07j2

l0oc07j24#

您必须通过intent调用条形码阅读器,然后用户扫描条形码(如果他们安装了条形码阅读器),条形码阅读器将数据发送到您的应用程序
这是如何做到这一点的代码。http://code.google.com/p/zxing/wiki/ScanningViaIntent
public void onActivityResult中所示
这些是扫描仪返回的数据

String contents = intent.getStringExtra("SCAN_RESULT");
        String format = intent.getStringExtra("SCAN_RESULT_FORMAT");
1u4esq0p

1u4esq0p5#

2023年解决方案:使用内置Android条码扫描器API:

dependencies {
  implementation 'com.google.android.gms:play-services-code-scanner:16.0.0'
}

GmsBarcodeScanner scanner = GmsBarcodeScanning.getClient(this);
scanner
    .startScan()
    .addOnSuccessListener(
        barcode -> {
          // Task completed successfully
        })
    .addOnCanceledListener(
        () -> {
          // Task canceled
        })
    .addOnFailureListener(
        e -> {
          // Task failed with an exception
        });

来源:https://developers.google.com/ml-kit/vision/barcode-scanning/code-scanner?hl=de#java

相关问题