Zxing qr сканирование аварии Blackberry - PullRequest
1 голос
/ 20 февраля 2012

Я внедряю сканер QR-кода для устройств Blackberry и использую библиотеки ZXing для этого.Это для ОС 6+, кстати.У меня проблема в том, что иногда, только иногда, когда камера открывается для подготовки сканирования, устройство зависает и выполняет полную перезагрузку ...

В противном случае это работает большую часть времени, я могусканировать и декодировать коды qr и т. д. Однако иногда кажется, что иногда происходит сбой без всякой причины.Я не знаю, что-то с камерой или что-то в моем коде, но я предоставлю код.

public void scanBarcode() {

    // First we create a hashtable to hold all of the hints that we can
    // give the API about how we want to scan a barcode to improve speed
    // and accuracy.
    Hashtable hints = new Hashtable();

    // The first thing going in is a list of formats. We could look for
    // more than one at a time, but it's much slower.
    Vector formats = new Vector();
    formats.addElement(BarcodeFormat.QR_CODE);
    hints.put(DecodeHintType.POSSIBLE_FORMATS, formats);

    // We will also use the "TRY_HARDER" flag to make sure we get an
    // accurate scan
    hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);

    // We create a new decoder using those hints
    BarcodeDecoder decoder = new BarcodeDecoder(hints);

    // Finally we can create the actual scanner with a decoder and a
    // listener that will handle the data stored in the barcode. We put
    // that in our view screen to handle the display.
    try {
        _scanner = new BarcodeScanner(decoder, new MyBarcodeDecoderListener());
        _barcodeScreen = new MyBarcodeScannerViewScreen(_scanner);

    } catch (Exception e) {
        return;
    }


    // If we get here, all the barcode scanning infrastructure should be set
    // up, so all we have to do is start the scan and display the viewfinder
    try {
        _scanner.stopScan();
        _scanner.getPlayer().start();
        _scanner.startScan();
        UiApplication.getUiApplication().pushScreen(_barcodeScreen);
    } catch (Exception e) {
    }

}

/***
 * MyBarcodeDecoderListener
 * <p>
 * This BarcodeDecoverListener implementation tries to open any data encoded
 * in a barcode in the browser.
 * 
 * @author PBernhardt
 * 
 **/
private class MyBarcodeDecoderListener implements BarcodeDecoderListener {

    public void barcodeDecoded(final String rawText) {

        //UiApplication.getUiApplication().popScreen(UiApplication.getUiApplication().getActiveScreen());
        UtilityDecoder.saveToHistory(rawText);

        try {
            UtilityDecoder.distributeBarcode(rawText);
        } catch (PIMException e) {
        }
    }

}

Я в основном вызываю scanBarcode (), когда нажимаю кнопку на панели инструментов.

Может кто-нибудь сказать мне, является ли мой код проблемой, или устройством, или чем-то еще?Заранее благодарим за любую помощь!

1 Ответ

1 голос
/ 29 марта 2012

Попробуйте эту ссылку:

Сканирование любого типа изображения штрих-кода, которое поддерживает Blackberry

Просмотрите эту ссылку forun и просмотрите обсуждения этой ссылки.Конечно, вы получите общую концепцию сканирования штрих-кода, и вы также получите Реализацию QRCode в версии 5.0

Любой тип сканирования штрих-кода в 5.0

...