基于zxing的仿微信二维码扫描界面

xiaoxiao2021-02-27  241

基于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) { //处理返回的结果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"); //处理结果 } }

效果图

转载请注明原文地址: https://www.6miu.com/read-11956.html

最新回复(0)