您的位置:首页 > 其它

(安卓接口调用之)微光互联扫码小盒子的使用

2015-09-15 16:39 288 查看
上午,boss拿来个微光互联扫二维码的小盒子过来,说接口文档都有,叫我看一下,后面准备用它来搞二维码,当然是在安卓环境下的.

拿过来一看,它给的示例程序根本导不进工作空间里去(后面也解决了,关于导入出现"The builder launch configuration could not be found"错误,请参照我的另一篇文章:),不过还好usb线是ORG标准,看来可以插开发板.于是按照它的文档,直接写个demo测试

-------------------------------------------------------------------------------------------------------------

(以下内容是它开发文档说明,我会在遇到的问题后以加括号的形式说明)

1.开发准备[b](这里需要三样东西:微光互联扫二维码的小盒子/装有安卓开发环境的PC机/能跑安卓系统的开发板(模拟器方式没试过))[/b]

目前微光二维码扫描器不支持Android版即插即用,微光二维码扫描器必须在二次开发模式(有ROOT)下使用。
1.1 启用android对UVC的支持(必须)(就是检测是否支持org标准)
确认android是否支持uvc(UVC是Microsoft与另外几家设备厂商联合推出的为USB视频捕获设备定义的协议标准,目前已成为USB org标准之一。):
启动开发板,使用电脑通过adb连接到开发板,在电脑上输入"adbshell"
输入"ls -l /dev/video*",将列出一些video设备;
把z100扫描器插入开发板的USB口,然后在电脑输入"ls -l /dev/video*",
看是否新增video设备,如果新增video设备则支持uvc,如果没有则系统不支持uvc,需要重新编译android系统内核支持uvc。
1.2 让android的拥有设备完整的控制权限[b](必须)(这个比较重要,如果测试程序按要求写好后,发现运行不成功,可能就是这的问题,在cmd下再执行adb shell,把权限改成777再试试)[/b]
方法1:
使用adb方式登陆,插入设备后,执行:
a)“chmod 777 /dev/video*”命令
b)“chmod -R 777 /dev/bus/usb”命令
方法2:
重新编译android系统内核,修改system/core/rootdir/ueventd.rc文件:
找到
/dev/bus/usb/* 0660 root usb
修改为
/dev/video* 0665 root root
/dev/bus/usb/* 0665 root usb
1.3 安装android开发运行环境(必须)
安装JDK或JRE运行环境,版本不低于1.5。安装eclipse与ADK运行环境。
1.4 获取SDK开发包(必须)
从网站或客服获取Android的SDK开发包。

2.集成SDK(必须)
2.1 导入com.vguang.VguangApi等类到项目中(必须)(直接复制到src下即可)
把com\vguang\VguangApi.java、com\vguang\IDecodeCallBack.java、com\vguang\IDeviceStatusCallBack.java文件加入到项目中
2.2 导入相关so(必须)(直接复制到lib,导一下,这里可能会报lib包重复的错误,原因是android-support-v4.jar与armeabi-v7a下的包冲突了,删掉android-support-v4.jar即可)
导入相关so(libs目录)到项目的libs目录下
2.3 初始化设置(必须)
在需要使用设备的地方,执行初始化设置:

//设置QR状态,true时qr引擎开启;false时qr引擎关闭
		VguangApi.setQRable(true);
		//设置DM引擎状态,true时dm引擎开启;false时dm引擎关闭
		VguangApi.setDMable(true);
		//设置一维码引擎状态,true时一维码引擎开启;false时一维码引擎关闭
		VguangApi.setBarcode(true);
		
		// 设置解码间隔时间,单位毫秒
		VguangApi.setDeodeIntervalTime(300);
		
		//设置自动休眠状态,true时自动休眠开启;false时自动休眠关闭
		VguangApi.setAI(false);

		//设置扬声器状态,true时扬声器(缺省声音)开启;false时扬声器(缺省声音)关闭
		VguangApi.setBeepable(true);


注意:在QR、DM、一维码中请至少设置一种。
2.4 处理解码回调(必须)(这里貌似会一些问题,为了保证不出错,你可以完全把他示例代码(除去mainActivity)复制到你的项目中)
实现com\vguang\IDecodeCallBack.java接口
public class DecodeCallBack implements IDecodeCallBack {
…
	//DecodeCallBack就是你随便取的类名

	@Override
	public void decodeCallBack(final String decodeStr) {
<span style="white-space:pre">	</span>//根据实现情况修改处理
	}

}

设置解码回调:
DecodeCallBack decodeCallBack = new DecodeCallBack(this, decodeStr);
        VguangApi.setDecodeCallBack(decodeCallBack);

2.5 打开设备(必须)
在初始化设置后打开设备开始解码:
//打开设备
	VguangApi.openDevice();
完成以上步骤,初始化就完成了,如果需要后续的拓展功能,就得查看文档了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: