Android 使用Zxing2.1 来读取二维码

【鸣谢参考】:http://mukeshyadav4u.blogspot.com/2012/06/integrating-zxing-qr-code-scanner-into.html

用连接给的方法,发现在读成功之后没有返回,然后就看看了源码,得到原因是CaptureActivity是根据来源进行转发处理的,在intent中进行设置来源的Action就好了。

主要流程:

1、下载zxing的源码 

用svn checkout  http://zxing.googlecode.com/svn/trunk/ 源码

2、将android项目导入到eclipse中,并标记为libproject

3、创建自己的项目,并且应用第二部中的libprpoject

4、在自己的 AndroidManifest.xml 中增加如下的内容:

 <activity
            android:name="com.google.zxing.client.android.CaptureActivity"
            android:configChanges="orientation|keyboardHidden"
            android:screenOrientation="landscape"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
            android:windowSoftInputMode="stateAlwaysHidden" >
           <!--  <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter> -->
            <intent-filter>
                <action android:name="com.google.zxing.client.android.SCAN" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
5、调用读二维码的服务

我是用一个button来进行演示的

	public void scan(View view){
		Intent intent = new Intent(this,CaptureActivity.class);
		intent.setAction(Intents.Scan.ACTION);
		intent.putExtra(Intents.Scan.MODE, Intents.Scan.QR_CODE_MODE);
		intent.putExtra(Intents.Scan.RESULT_DISPLAY_DURATION_MS, 0L);
		startActivityForResult(intent, 0);
	}


6、在 com.bbcvison.zxing.test.MainActivity.onActivityResult 中进行对读到的二维码进行处理,读卡的结果的key值可以可以参考:
com.google.zxing.client.android.Intents.Scan
附件:
CaptureActivity.rar 是我生成的libproject
CaptureActivityTest.rar 是我的演示程序
再次感谢:http://mukeshyadav4u.blogspot.com/2012/06/integrating-zxing-qr-code-scanner-into.html
[全文完]



你可能感兴趣的:(android,二维码,zxing2.1)