1 首先下载Zxing的源码,然后将其中Android的版本导入到Android Studio
2 因为只需要二维码扫描的功能,所以只留下其中的四个包
其中 camera管理相机,decoding解析扫描到的二维码,view定义扫码的视图,MipcaActivityCapture是扫码的界面。
3 将res文件下的文件拷贝过来,注意是合并,不是简单的替换
4 修改AndroidMinifest.xml
5 修改由R引用带来的错误
6 添加jar包,jar包导入不是简单的复制,要右键 add as library,导入成功后的jar包是可以展开的,如图
7最终的结果如图
有一个问题是取景框内的二维码被拉伸了。。。待解决。
解决方法是
Zxing 修改 CameraConfigurationManager.java文件的
void initFromCameraParameters(Camera camera)方法
在 Log.d(TAG, "Screen resolution: " + screenResolution);这句之后增加
- Point screenResolutionForCamera = new Point(); screenResolutionForCamera.x = screenResolution.x; screenResolutionForCamera.y = screenResolution.y; // preview size is always something like 480*320, other 320*480
- if (screenResolution.x < screenResolution.y) {
- screenResolutionForCamera.x = screenResolution.y;
- screenResolutionForCamera.y = screenResolution.x;
- }
- 再把其后的一句代码改为
- cameraResolution = getCameraResolution(parameters, screenResolutionForCamera);