gpt4 book ai didi

android - 如何读取 Zxing 和 Googles Mobile Vision API 中的一维条码扫描仪?

转载 作者:行者123 更新时间:2023-11-30 00:07:40 25 4
gpt4 key购买 nike

enter image description here我正在使用 Zxing 读取条码扫描器。我能够读取 QR 码但无法读取一维条形码。我也尝试使用 Google Play 服务移动 API 但也无法读取一维条形码扫描仪。

这里是Zxing的代码

    public class MainActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {

private static final int REQUEST_CAMERA = 1;
private ZXingScannerView mScannerView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setContentView(R.layout.activity_main);
mScannerView = new ZXingScannerView(MainActivity.this);
setContentView(mScannerView);




}

@Override
public void onDestroy() {
super.onDestroy();
mScannerView.stopCamera();
}

private void showMessageOKCancel(String message, DialogInterface.OnClickListener okListener) {
new android.support.v7.app.AlertDialog.Builder(MainActivity.this)
.setMessage(message)
.setPositiveButton("OK", okListener)
.setNegativeButton("Cancel", null)
.create()
.show();
}

@Override
public void onResume() {
super.onResume();
// Register ourselves as a handler for scan results.
mScannerView.setResultHandler(this);
// Start camera on resume
mScannerView.startCamera();
}

@Override
public void handleResult(Result rawResult) {
final String result = rawResult.getText();
Log.d("QRCodeScanner", rawResult.getText());
Log.d("QRCodeScanner", rawResult.getBarcodeFormat().toString());
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Scan Result");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
mScannerView.resumeCameraPreview(MainActivity.this);
}
});
builder.setNeutralButton("Visit", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com "+result.trim()));
startActivity(browserIntent);
}
});
builder.setMessage(rawResult.getText());
AlertDialog alert1 = builder.create();
alert1.show();
}
}

帮助我读取这两个库中的一维条形码。?上面是一维条码图像

最佳答案

我在我的项目中使用这个库 Zxing,我遇到了这个库的很多问题,如果你正在使用这个库,请确保以下事项:

  1. 您在其中使用 Scanner 的 Activity 不要将类放入您自己的 Android studio 包中,只需在您的应用程序包中创建 Activity。

  2. 如果您正在自定义扫描仪屏幕,请执行一次,如果您不时更改屏幕,将导致无法扫描的问题。

  3. 我还发现,如果扫描相同的条形码需要更多时间,这个库会给出一些时间错误的结果。

现在,我要分享我的代码:

onCreate 方法中:

    //Scanner
mScannerView = new ZXingScannerView(this);
RelativeLayout rl = (RelativeLayout) findViewById(R.id.relative_scan_take_single);
rl.addView(mScannerView);
mScannerView.setResultHandler(this);
mScannerView.startCamera();
mScannerView.setSoundEffectsEnabled(true);
mScannerView.setAutoFocus(true);
}


@Override
public void onResume() {
super.onResume();
mScannerView.setResultHandler(this); // Register ourselves as a handler for scan results.
mScannerView.startCamera(); // Start camera on resume
}

@Override
public void onPause() {
super.onPause();
mScannerView.stopCamera(); // Stop camera on pause
}

@Override
public void handleResult(Result rawResult) {
// Do something with the result here
Log.e(TAG, rawResult.getText()); // Prints scan results
Log.e(TAG, rawResult.getBarcodeFormat().toString());

Log.e("SCAN_RESULT", "" + rawResult.getText());
//dataSingle.put("0",rawResult.getText());

关于android - 如何读取 Zxing 和 Googles Mobile Vision API 中的一维条码扫描仪?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48705898/

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