这是一个只有一个二维码扫描界面的demo,方便之后集成使用。

原文地址 http://blog.csdn.net/qq_25806863/article/details/72139582

CSDN下载地址 http://download.csdn.net/detail/qq_25806863/9842656

demo的GitHub地址 https://github.com/wangyisll/QRDemo

效果图

界面是下面这样的:

项目结构

项目结构很简单:

使用

1.复制文件

使用也很简单,把上面选中的文件复制到对应位置就行,values中的文件可以跟自己项目的合并。

2.修改各个类的import引用

直接运行的话,肯定会报错,一大堆import文件找不到的。

因为复制过去的import用的是我的引用地址,只要把它删掉,Androidstudio会自动加上正确的引用。

只修改引用,其他的就先不要改了。

3.修改布局文件

然后修改布局文件activity_qrscanner.xml

布局文件是这样的:

同样是因为不同项目的包名不一样,需要修改一下ViewfinderView的地址。不然运行会报错,找不到这个控件。

4.设置权限

要在AndroidManifest.xml文件中设置一些权限:

1
2
3
4
5
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-feature android:name="android.hardware.camera.front" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />

5.修改布局样式和处理结果

这个就改QRScannerActivity就行了。

对扫描结果的处理在他的handleDecode方法中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 处理扫描结果
*/
public void handleDecode(Result result) {
inactivityTimer.onActivity();
playBeepSoundAndVibrate();
String resultString = result.getText();
if (TextUtils.isEmpty(resultString)) {
Toast.makeText(QRScannerActivity.this, "Scan failed!", Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(QRScannerActivity.this, resultString, Toast.LENGTH_SHORT).show();
finish();
}
}

完工

然后应该就能运行成功了。

demo的GitHub地址