基于zxing的仿微信二维码扫描界面
https://github.com/iamlocky/ZxingLite
本项目fork自yangxixi88/ZxingLite,在原项目基础上添加了本地图片识别,闪光灯和结果监听器,识别出结果后可以通过onActivityResult或者自定义ResultListener获取String结果
使用方法
Add it in your root build.gradle at the end of repositories:
allprojects {
repositories {
...
maven { url
'https://www.jitpack.io' }
}
}
Add the dependency
dependencies {
compile
'com.github.iamlocky:ZxingLite:1.0.1'
}
如果gradle报错则改为
compile (
'com.github.iamlocky:ZxingLite:1.0.1',{
exclude group:
'com.android.support', module:
'appcompat-v7'
})
ps:发布时漏了删gradle里的espresso2.2.2,如果报错请自行exclude
manifests需要有三项权限
<uses-permission android:name=
"android.permission.CAMERA" />
<uses-permission android:name=
"android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name=
"android.permission.VIBRATE" />
如果启动报错找不到activity则添加
<activity
android:name=
"com.google.zxing.activity.WeChatCaptureActivity"
android:screenOrientation=
"portrait"
android:launchMode=
"standard"
/>
准备工作做完了(注意高版本要动态申请权限)
开始使用
直接用ResultListener
WeChatCaptureActivity.init(context,
new ResultListener() {
@Override
public void onResult(String s) {
}
}, getResources().getColor(R.color.colorPrimary),
"二维码扫描");
或者第二个参数传null,直接用onActivityResult
WeChatCaptureActivity.init(context,
null, getResources().getColor(R.color.colorPrimary),
"二维码扫描2");
@Override
protected void onActivityResult(
int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode ==
1001) {
String result = data.getStringExtra(
"result");
}
}
效果图