Qt for Android 使用Honeywell 扫描器的Android SDK开发方法和样例工程

1、在工程中导入SDK文件DataCollection.jar。

2、在AndroidManifest.xml中加入下面的代码来获取扫描权限。

<uses-permission android:name="com.honeywell.decode.permission.DECODE" />

3、在Activity类(如MainActivity)的声明中加入BarcodeListener和TriggerListener,以便进行扫描键触发处理和条码事件处理。

[java]  view plain  copy
  1. public class MainActivity extends AppCompatActivity implements BarcodeReader.BarcodeListener, BarcodeReader.TriggerListener  

4、在Activity类(如MainActivity)中定义AidcManager和BarcodeReader对象,通过BarcodeReader对象可以实现扫描属性的设置和扫描功能的使用。

[java]  view plain  copy
  1. AidcManager manager;  
  2. BarcodeReader barcodeReader;  
5、在onCreate函数中加入下面的代码,创建扫描对象,设置扫描属性,完成扫描功能的准备工作。

[java]  view plain  copy
  1. AidcManager.create(thisnew AidcManager.CreatedCallback() {  
  2.         @Override  
  3.         public void onCreated(AidcManager aidcManager) {  
  4.             //创建AidcManager和BarcodeReader对象  
  5.             manager = aidcManager;  
  6.             barcodeReader = manager.createBarcodeReader();  
  7.   
  8.             //设置扫描属性,打开扫描功能  
  9.             try {  
  10.                 barcodeReader.setProperty(BarcodeReader.PROPERTY_CODE_128_ENABLED, true);  
  11.                 barcodeReader.setProperty(BarcodeReader.PROPERTY_QR_CODE_ENABLED, false);  
  12.                 barcodeReader.setProperty(BarcodeReader.PROPERTY_TRIGGER_CONTROL_MODE, BarcodeReader.TRIGGER_CONTROL_MODE_CLIENT_CONTROL);  
  13.   
  14.                 barcodeReader.claim();  //打开扫描功能  
  15.             } catch(Exception e){  
  16.                 Toast.makeText(MainActivity.this"修改属性失败", Toast.LENGTH_SHORT).show();  
  17.             }  
  18.   
  19.             //注册Trigger监听器和Barcode监听器  
  20.             barcodeReader.addTriggerListener(MainActivity.this);  
  21.             barcodeReader.addBarcodeListener(MainActivity.this);  
  22.         }  
  23.     });  
6、重写onTriggerEvent函数,实现按下扫描键开启补光和扫描,弹起扫描键关闭补光和扫描的功能。

[java]  view plain  copy
  1. @Override  
  2.     public void onTriggerEvent(TriggerStateChangeEvent triggerStateChangeEvent) {  
  3.         try {  
  4.             barcodeReader.light(triggerStateChangeEvent.getState());//开关补光  
  5.             barcodeReader.aim(triggerStateChangeEvent.getState());//开关瞄准线  
  6.             barcodeReader.decode(triggerStateChangeEvent.getState());//开关解码功能  
  7.         } catch(Exception e){  
  8.             Toast.makeText(this"开关扫描功能失败", Toast.LENGTH_SHORT).show();  
  9.         }  
  10.     }  
7、重写onBarcodeEvent函数,实现条码数据的接收。

[java]  view plain  copy
  1. @Override  
  2.     public void onBarcodeEvent(BarcodeReadEvent barcodeReadEvent) {  
  3.         String barcodeData = barcodeReadEvent.getBarcodeData(); //获取扫描数据  
  4.     }  
8、重写onFailureEvent函数,实现扫描失败时的处理,也可以不加任何处理,但是必须要有这个函数,否则Build时会报错。

[java]  view plain  copy
  1. @Override  
  2.     public void onFailureEvent(BarcodeFailureEvent barcodeFailureEvent) {  
  3.   
  4.     }  
9、在onPause函数中加入barcodeReader.release(); 关闭扫描,在onResume函数中加入barcodeReader.claim(); 恢复扫描。

10、在onDestroy函数中加入下面的代码,关闭所有扫描功能。

[java]  view plain  copy
  1. barcodeReader.removeTriggerListener(this);  
  2. barcodeReader.removeBarcodeListener(this);  
  3. barcodeReader.close();  
  4. manager.close();  

样例工程网盘链接如下:

链接: https://pan.baidu.com/s/1o8JsVii 密码: yphq

Qt  for Android Demo下载:

https://download.csdn.net/download/clinuxf/10346428

猜你喜欢

转载自blog.csdn.net/clinuxf/article/details/79927495