Android生成二维码根据类型进行并扫描解析
最近在搞这块东西,简单分享下。
先说下思路,首先是根据某些信息比如价格,标题,之类的调用CodeUtils.createImage设置宽高,String和转换成bitmap,然后再让Imageview去加载(原生设置或者glide都行).
然后就是扫描了,扫描的话我前两篇博客写了,就是利用了 CaptureFragment进行扫描,然后有个回调(analyzeCallback),有两个onAnalyzeSuccess和onAnalyzeFail,在Success的时候进行处理,如下:
private void scanSuccess(String result) {LogUtil.e("chen 描扫结果处理 ", result);if (!Check.isEmpty(result) && result.indexOf("http") > -1) {if(result.indexOf("mall/goodsDetail")>-1){Uri uri = Uri.parse(result);String goodsId = uri.getQueryParameter("goodsId");String courseType = uri.getQueryParameter("courseType");if (result.endsWith("&courseType")) {//说明是专栏ARouter.getInstance().build(SPECIAL_DETAILS_ACTIVITY).withString("data", null).withString("goodsId", goodsId).withString("payType", "1").navigation();} else {if (courseType.equals("VIDEO") || courseType.equals("AUDIO")) {//2 课程ARouter.getInstance().build(CURRICULUM_DETAILS_ACTIVITY).withString("data", null).withString("goodsId", goodsId).withString("coursetype", courseType).withString("payType", "1").navigation();} else {ARouter.getInstance().build(LIVE_BROADCAST_DETAILS_ACTIVITY).withString("data", null).withString("goodsId", goodsId).withString("coursetype", courseType).withString("payType", "1").navigation();}}return;}else if(result.indexOf("mall/mallShop")>-1){//分享店铺Uri uri = Uri.parse(result);String shopId = uri.getQueryParameter("shopId");String inviteUserId = uri.getQueryParameter("inviteUserId");//店铺分享ARouter.getInstance().build(SHOP_FRONT_PAGE_ACTIVITY).withString("shopId",shopId).withString("payType","1").withString("inviteUserId",inviteUserId).navigation();return;}//其他走网页Pattern pattern = Patterns.WEB_URL;Matcher matcher = pattern.matcher(result);if (matcher.find()) {link = matcher.group(0);}Intent intent = new Intent(this, CommonWebActivity.class);intent.putExtra("webUrl", link);intent.putExtra("webTitle", " ");intent.putExtra("mContent", "");startActivity(intent);finish();return;}try {JSONObject jsonObject = new JSONObject(result);if (jsonObject.has("type")) {ScanResult scanResult = new Gson().fromJson(result, ScanResult.class);if (scanResult != null) {if (scanResult.getType() != 0) {switch (scanResult.getType()) {//好友case 1:UserProfileActivity.start(this, scanResult.getAccount(), true);break;//群组case 2:AdvancedTeam(scanResult.getAccount());break;//社群case 3:AdvancedTeam(scanResult.getAccount());break;}}}} else {ToastUtils.error("无法识别此二维码!");}finish();} catch (JSONException e) {e.printStackTrace();ToastUtils.error("无法识别此二维码!");finish();}}
Android生成二维码根据类型进行并扫描解析相关推荐
- Android 生成二维码,条形码,二维码添加logo
zxing生成二维码 implementation 'com.google.zxing:core:3.3.1' implementation(name: 'zxing-1.0.1', ext: 'aa ...
- android 生成二维码_Java 生成二维码实战
简介 ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码.其提供了多种平台下的客户端包括:J2ME. ...
- Android 生成二维码
二维码的应用非常广泛,用途也很多,网上也有很多实用的精简包可以引入,本篇主要记录了不用引入新的module,自己集成生成二维码功能的过程. 一.引入依赖 首先在libs文件目录下放进jar包zxing ...
- Android 生成二维码工具类
/*** 生成条形码和二维码的工具*/ public class ZXingUtils {/*** 生成二维码 要转换的地址或字符串,可以是中文** @param url* @param width* ...
- android将apk生成的二维码放到本地tomcatjenkin(Android 生成二维码)
如何将apk做成二维码可供下载? 具体步骤 你把apk的链接找到 然后在找到二维码生成器,把链接放就去,生成二维码就可以了!亲试效果很好 怎么找链接,我这边只有文件 搜索二维码生成器 本回答由网友推荐 ...
- Android生成二维码--拍照或从相册选取图片
拍照或从相册选择图片是我们日常开发中经常使用到的,可以说是必须掌握的东西.上一篇我介绍了如何生成自定义二维码<Android生成自定义二维码>,其中logo和代替黑色色块的图片都是写死的, ...
- Android 自定义二维码
Android生成二维码使用的是zxing. 1.加入依赖,或者自己选择zxing版本:Releases · zxing/zxing · GitHub dependencies {...impleme ...
- Thinkphp5生成二维码
找了很久方法没对,网上零零散散的,总会出现引入方法不对,找不到'\Endroid\QrCode\QrCode()',对于新手帮助是很大的哟.希望大家多多支持和指教 对于老手网上该例子是可以直接使用:h ...
- QR Code生成二维码快速入门
1.QR Code的介绍 QR Code,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性 ...
最新文章
- Vim as Python IDE on windows(转)
- Google和eBay在建设微服务生态系统中的深刻教训
- 【收藏】解决关闭Hadoop时no namenode to stop异常
- xp打印服务器win10的系统连接不上,Win10系统访问WinXP系统共享打印机却连接不了的解决方法...
- oracle flashback 深入研究,oracle 之flashback 深入研究。
- Centos/Red Hat6.8 安装、配置、启动Gitlab (内网环境)心得分享
- Jstatd命令(Java Statistics Monitoring Daemon)
- php post数组丢失,php – 神秘空$_POST数组
- English——视频总结(一)
- CentOS 7中源码安装MySQL 5.7.16 ----已测试验证
- android 渲染yuv数据,Android opengl渲染yuv420例子
- jpg格式的矢量化arcgis_arcgis将jpg矢量化,带坐标导出TIFF格式,再导入cad的方法...
- 【已解决】Magisk提示需要修复运行环境怎么办? | 面具提示需要修复运行环境怎么办?
- TIA安装GSD文件
- 顶级的 18 款开源低代码开发平台
- 优质的APP推广渠道那么多,怎么选才好?
- 转:查理·芒格:让打击和麻烦成为成长的契机
- 保时捷狂推NFT,高调喊出打造Web3社区,Web2品牌“天生缺陷”终将折戟沉沙?...
- scrum立会报告+燃尽图(第二周第七次)
- 网易有道校招笔试总结