我正在使用下面的代碼爲2D-QR碼解碼器。黑莓QR碼解碼概率在操作系統6
package com.test.rim;
import java.util.*;
import net.rim.device.api.barcodelib.*;
import net.rim.device.api.ui.*;
import net.rim.device.api.ui.container.*;
import net.rim.device.api.ui.UiApplication;
import net.rim.device.api.ui.component.Dialog;
import com.google.zxing.*;
final class BarcodeScanScreen extends MainScreen{
BarcodeScanScreen barcodeScanScreen;
BarcodeScanScreen(){
BarcodeDecoderListener listener = new BarcodeDecoderListener(){
public void barcodeDecoded(String rawText)
{
Dialog.alert(rawText);
}
};
Hashtable hints = new Hashtable(1);
Vector formats = new Vector(1);
formats.addElement(BarcodeFormat.QR_CODE);
hints.put(DecodeHintType.POSSIBLE_FORMATS, formats);
BarcodeDecoder decoder = new BarcodeDecoder(hints);
try{
BarcodeScanner scanner = new BarcodeScanner(decoder, listener);
scanner.getVideoControl().setDisplayFullScreen(true);
add(scanner.getViewfinder());
scanner.startScan();
}catch (Exception e)
{
// Catch errors here
Dialog.alert("Error:" + e.getMessage());
}
}
}
要啓動這個畫面,我燒製代碼app.pushScreen(new BarcodeScanScreen());
從先前的屏幕的按鈕點擊。
當我運行代碼時,BarcodeScanScreen
正確啓動並且掃描也正在進行(因爲設備的紅燈閃爍)。只要我在任何有效的2D-QR代碼之前放置凸輪,閃爍就會停止。我認爲這意味着,任何條碼都被成功解碼,因此掃描儀會停下來。但是barcodeDecoded()
方法沒有被觸發,因爲沒有任何警報消息出現在屏幕上。我的代碼中有什麼問題?
您是否測試過黑莓樣本提供的示例代碼?首先測試Blackberry Samples提供的BarcodeDemo;當您在BarcodeListener中找到數據時,您不會停止掃描; – alishaik786 2012-02-15 06:23:59