сканеры штрихкодов на пустом столе et c Android - PullRequest
0 голосов
/ 07 февраля 2020

Здравствуйте, я использую библиотеку сканера штрих-кода https://github.com/dm77/barcodescanner, но я сталкиваюсь с проблемой, когда сканирую на своем столе в течение 10-15 секунд, он сканирует, а также выдает результат случайным образом с типом штрих-кода "UPC_E, EAN_13 и т. Д.", Пожалуйста, сообщите мне, как сканировать штрих-код, а не только на пустые вещи

Вот как я использую эту библиотеку

Intent i = new Intent(getContext(), ScanActivity.class);
            startActivityForResult(i, CommonConstants.MODE_BARCODE_FOR_ADD_ANOTHER);

ScanActivity

public class ScanActivity extends AppCompatActivity implements ZXingScannerView.ResultHandler {
    private ZXingScannerView mScannerView;
    public static final String TAG = ScanActivity.class.getSimpleName();
    private static final String P9_AND_P10_DEVICE = "VTR-L09 VTR-L29 VTR-AL00 VTR-TL00 EVA-L09 EVA-L19 EVA-L29";

    @Override
    public void onCreate(Bundle state) {
        super.onCreate(state);
        mScannerView = new ZXingScannerView(this);
        if (P9_AND_P10_DEVICE.contains(Build.MODEL)) {
            mScannerView.setAspectTolerance(0.5f);
            Log.i(TAG, "Huawei Device\n" + Build.MANUFACTURER + " " + Build.MODEL);
        } else {
            Log.i(TAG, "Any Other Device\n" + Build.MANUFACTURER + " " + Build.MODEL);
        }
        mScannerView.setAutoFocus(true);
    //   mScannerView.setFormats(Collections.singletonList(BarcodeFormat.));
        // Programmatically initialize the scanner view
        mScannerView.setAspectTolerance(0.5f);
        setContentView(mScannerView);                // Set the scanner view as the content view   }
    }

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


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


    @Override
    public void handleResult(Result result) {

        // Do something with the result here
        Log.v(TAG, "---result.getText()"+result.getText()); // Prints scan results
        Log.v(TAG, "----SCANRESULT "+result.getBarcodeFormat().toString()); // Prints the scan format (qrcode, pdf417 etc.)

        mScannerView.resumeCameraPreview(this);

        if (result == null) {
            Log.e(TAG, "handleResult: 1");
        } else if (result.getText() != null) {
            Log.e(TAG, "handleResult: 2");
        } else {
            Log.e(TAG, "handleResult: 3");
        }


        Intent returnIntent = new Intent();
        returnIntent.putExtra("result", result.getText());


        setResult(Activity.RESULT_OK, returnIntent);
        finish();

    }

Я пробовал и другую библиотеку, но все еще получаю ту же проблему https://github.com/yuriy-budiyev/code-scanner

Попробовал еще несколько библиотек, но все же проблема во всех этих библиотеках

Все еще ищете решение

Я пробовал примеры Vision Api, но все еще сталкиваюсь с теми же проблемами, работает только сканер штрих-кода Firebase на SDK 21, но я хочу для SDK 18

1 Ответ

1 голос
/ 07 февраля 2020

Это может быть проблема с библиотекой. Попробуйте использовать другую библиотеку

Рекомендуемые библиотеки:

https://github.com/zxing/zxing

https://developers.google.com/vision

...