1、在工程中导入SDK文件DataCollection.jar。
2、在AndroidManifest.xml中加入下面的代码来获取扫描权限。
<uses-permission android:name="com.honeywell.decode.permission.DECODE" />
3、在Activity类(如MainActivity)的声明中加入BarcodeListener和TriggerListener,以便进行扫描键触发处理和条码事件处理。
4、在Activity类(如MainActivity)中定义AidcManager和BarcodeReader对象,通过BarcodeReader对象可以实现扫描属性的设置和扫描功能的使用。
5、在onCreate函数中加入下面的代码,创建扫描对象,设置扫描属性,完成扫描功能的准备工作。
6、重写onTriggerEvent函数,实现按下扫描键开启补光和扫描,弹起扫描键关闭补光和扫描的功能。
7、重写onBarcodeEvent函数,实现条码数据的接收。
8、重写onFailureEvent函数,实现扫描失败时的处理,也可以不加任何处理,但是必须要有这个函数,否则Build时会报错。
9、在onPause函数中加入barcodeReader.release(); 关闭扫描,在onResume函数中加入barcodeReader.claim(); 恢复扫描。
10、在onDestroy函数中加入下面的代码,关闭所有扫描功能。
2、在AndroidManifest.xml中加入下面的代码来获取扫描权限。
<uses-permission android:name="com.honeywell.decode.permission.DECODE" />
3、在Activity类(如MainActivity)的声明中加入BarcodeListener和TriggerListener,以便进行扫描键触发处理和条码事件处理。
- public class MainActivity extends AppCompatActivity implements BarcodeReader.BarcodeListener, BarcodeReader.TriggerListener
4、在Activity类(如MainActivity)中定义AidcManager和BarcodeReader对象,通过BarcodeReader对象可以实现扫描属性的设置和扫描功能的使用。
- AidcManager manager;
- BarcodeReader barcodeReader;
- AidcManager.create(this, new AidcManager.CreatedCallback() {
- @Override
- public void onCreated(AidcManager aidcManager) {
- //创建AidcManager和BarcodeReader对象
- manager = aidcManager;
- barcodeReader = manager.createBarcodeReader();
- //设置扫描属性,打开扫描功能
- try {
- barcodeReader.setProperty(BarcodeReader.PROPERTY_CODE_128_ENABLED, true);
- barcodeReader.setProperty(BarcodeReader.PROPERTY_QR_CODE_ENABLED, false);
- barcodeReader.setProperty(BarcodeReader.PROPERTY_TRIGGER_CONTROL_MODE, BarcodeReader.TRIGGER_CONTROL_MODE_CLIENT_CONTROL);
- barcodeReader.claim(); //打开扫描功能
- } catch(Exception e){
- Toast.makeText(MainActivity.this, "修改属性失败", Toast.LENGTH_SHORT).show();
- }
- //注册Trigger监听器和Barcode监听器
- barcodeReader.addTriggerListener(MainActivity.this);
- barcodeReader.addBarcodeListener(MainActivity.this);
- }
- });
- @Override
- public void onTriggerEvent(TriggerStateChangeEvent triggerStateChangeEvent) {
- try {
- barcodeReader.light(triggerStateChangeEvent.getState());//开关补光
- barcodeReader.aim(triggerStateChangeEvent.getState());//开关瞄准线
- barcodeReader.decode(triggerStateChangeEvent.getState());//开关解码功能
- } catch(Exception e){
- Toast.makeText(this, "开关扫描功能失败", Toast.LENGTH_SHORT).show();
- }
- }
- @Override
- public void onBarcodeEvent(BarcodeReadEvent barcodeReadEvent) {
- String barcodeData = barcodeReadEvent.getBarcodeData(); //获取扫描数据
- }
- @Override
- public void onFailureEvent(BarcodeFailureEvent barcodeFailureEvent) {
- }
10、在onDestroy函数中加入下面的代码,关闭所有扫描功能。
- barcodeReader.removeTriggerListener(this);
- barcodeReader.removeBarcodeListener(this);
- barcodeReader.close();
- manager.close();
样例工程网盘链接如下:
链接: https://pan.baidu.com/s/1o8JsVii 密码: yphq
Qt for Android Demo下载: