我正在使用下面的代码为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