Я делаю приложение для чтения qr-кода, при нажатии кнопки я открываю вид с камеры.
Затем, в зависимости от их результата, он перейдет к следующему экрану, но во второй раз, когда я открою экран, он выдаст мне ошибку CamController: ошибка получения: _camConfigHandle неверен .
Редакция:
Я должен попробовать этот код для удаления сканера и перейти к следующему экрану
UiApplication.getUiApplication().invokeLater(new Runnable() {
public void run() {
try {
_scanner.getPlayer().stop();
} catch (MediaException e) {
e.printStackTrace();
}
_scanner.getPlayer().close();
System.out.println("closeScan");
_scanner.getPlayer().deallocate();
System.out.println("deallocateScan");
System.out.println("deleteAllScan");
UiApplication.getUiApplication().popScreen(_barcodeScreen);
}
});
и это мой код для сканирования
private void scanBarcode() {
if (_barcodeScreen == null) {
Hashtable hints = new Hashtable();
Vector formats = new Vector();
formats.addElement(BarcodeFormat.QR_CODE);
hints.put(DecodeHintType.POSSIBLE_FORMATS, formats);
hints.put(DecodeHintType.TRY_HARDER, Boolean.TRUE);
BarcodeDecoder decoder = new BarcodeDecoder(hints);
try {
_scanner = new BarcodeScanner(decoder, new MyBarcodeDecoderListener());
_barcodeScreen = new MyBarcodeScannerViewScreen(_scanner);
} catch (Exception e) {
System.out.println("error="+e.toString());
return;
}
}
try {
_scanner.startScan();
UiApplication.getUiApplication().pushScreen(_barcodeScreen);
} catch (Exception e) {
System.out.println("error1="+e.toString());
}
}
Заранее спасибо.