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 是我的演示程序
[全文完]



评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值