现在网上的修改方法很多,但是好像都跟我下载的源码对不起来,我按这里的源码对我下载的版本进行了修改
1.首先需要添加权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
2.增加activity
<activity
android:name="com.google.zxing.client.android.CaptureActivity"
android:screenOrientation="portrait"
android:clearTaskOnLaunch="true"
android:stateNotNeeded="true"
android:configChanges="orientation|keyboardHidden"
android:theme="@style/CaptureTheme"
android:windowSoftInputMode="stateAlwaysHidden" >
这里的
android:screenOrientation控制了扫描横屏还是竖屏 横屏landscape
3.修改DecodeHandler
增加一个方法
public byte[] rotateData(byte[] data,int width,int height){
<span style="white-space:pre"> </span>// //旋转数据
<span style="white-space:pre"> </span> byte[] rotatedData = new byte[data.length];
<span style="white-space:pre"> </span> for (int y = 0; y < height; y++) {
<span style="white-space:pre"> </span> for (int x = 0; x < width; x++)
<span style="white-space:pre"> </span> rotatedData[x * height + height - y - 1] = data[x + y * width];
<span style="white-space:pre"> </span> }
<span style="white-space:pre"> </span> return rotatedData;
<span style="white-space:pre"> </span> }