gpt4 book ai didi

android - 使用 Google Mobile Vision API 识别扫描的二维码

转载 作者:行者123 更新时间:2023-11-29 00:03:03 33 4
gpt4 key购买 nike

我正在使用 Google Mobile Vision Api 扫描条形码,速度非常快。但现在我想识别条形码,无论它们是用于 Wifi、联系人、短信还是其他东西。

我尝试了一种自己的方法来识别扫描的条形码类型,但它使用了一些 If-else。那么,有没有办法可以直接识别扫描的条码类型呢?

喜欢 Zxing Wiki每种类型的条形码都有一个选项。但是我没有找到任何适用于 google mobile vision api 的东西。

这是我使用的代码:

1. 将 rawValue 传递给另一个 Activity

@Override
public void onRetrieved(final Barcode barcode) {
runOnUiThread(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(QRScanner.this, BarcodeResult.class);
intent.putExtra("Barcode", barcode.rawValue);
QRScanner.this.finish();
startActivity(intent);
}
});

2。识别条码

        textView1 = intent.getStringExtra("Barcode");
if(textView1.startsWith("BEGIN:VCARD")) {
VCard vcard = Ezvcard.parse(textView1).first();
String str = ""+vcard.getFormattedName().getValue();
String no = "";
List<Telephone> list = vcard.getTelephoneNumbers();
if(list.size()>1){

for(int i=0;i<list.size();i++)
no = ""+list.get(i)+"\n"+no;
}
else if(list.size()==1) {
no = list.get(0).toString();
}
if(!no.equals(""))
str = str+"\n"+no;
textView.setText(str);
}

此代码运行良好,可以识别 VCard 条形码,但为每种类型的条形码添加 If-else 是一个问题,需要时间。因此,如果有我遗漏的解决方案,请分享。

最佳答案

您可以使用 barcode.valueFormat变量来识别它。将此值传递给另一个 Activity 后,您可以执行以下操作:

if(valueFormart == Barcode.CONTACT_INFO){
VCard vcard = Ezvcard.parse(textView1).first();
...
}

关于android - 使用 Google Mobile Vision API 识别扫描的二维码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48959346/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com