最近在搞这块东西,简单分享下。
先说下思路,首先是根据某些信息比如价格,标题,之类的调用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生成二维码根据类型进行并扫描解析相关推荐

  1. Android 生成二维码,条形码,二维码添加logo

    zxing生成二维码 implementation 'com.google.zxing:core:3.3.1' implementation(name: 'zxing-1.0.1', ext: 'aa ...

  2. android 生成二维码_Java 生成二维码实战

    简介 ZXing 是一个开源 Java 类库用于解析多种格式的 1D/2D 条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码.其提供了多种平台下的客户端包括:J2ME. ...

  3. Android 生成二维码

    二维码的应用非常广泛,用途也很多,网上也有很多实用的精简包可以引入,本篇主要记录了不用引入新的module,自己集成生成二维码功能的过程. 一.引入依赖 首先在libs文件目录下放进jar包zxing ...

  4. Android 生成二维码工具类

    /*** 生成条形码和二维码的工具*/ public class ZXingUtils {/*** 生成二维码 要转换的地址或字符串,可以是中文** @param url* @param width* ...

  5. android将apk生成的二维码放到本地tomcatjenkin(Android 生成二维码)

    如何将apk做成二维码可供下载? 具体步骤 你把apk的链接找到 然后在找到二维码生成器,把链接放就去,生成二维码就可以了!亲试效果很好 怎么找链接,我这边只有文件 搜索二维码生成器 本回答由网友推荐 ...

  6. Android生成二维码--拍照或从相册选取图片

    拍照或从相册选择图片是我们日常开发中经常使用到的,可以说是必须掌握的东西.上一篇我介绍了如何生成自定义二维码<Android生成自定义二维码>,其中logo和代替黑色色块的图片都是写死的, ...

  7. Android 自定义二维码

    Android生成二维码使用的是zxing. 1.加入依赖,或者自己选择zxing版本:Releases · zxing/zxing · GitHub dependencies {...impleme ...

  8. Thinkphp5生成二维码

    找了很久方法没对,网上零零散散的,总会出现引入方法不对,找不到'\Endroid\QrCode\QrCode()',对于新手帮助是很大的哟.希望大家多多支持和指教 对于老手网上该例子是可以直接使用:h ...

  9. QR Code生成二维码快速入门

    1.QR Code的介绍 QR Code,是由Denso公司于1994年9月研制的一种矩阵二维码符号,它具有一维条码及其它二维条码所具有的信息容量大.可靠性高.可表示汉字及图象多种文字信息.保密防伪性 ...

最新文章

  1. Vim as Python IDE on windows(转)
  2. Google和eBay在建设微服务生态系统中的深刻教训
  3. 【收藏】解决关闭Hadoop时no namenode to stop异常
  4. xp打印服务器win10的系统连接不上,Win10系统访问WinXP系统共享打印机却连接不了的解决方法...
  5. oracle flashback 深入研究,oracle 之flashback 深入研究。
  6. Centos/Red Hat6.8 安装、配置、启动Gitlab (内网环境)心得分享
  7. Jstatd命令(Java Statistics Monitoring Daemon)
  8. php post数组丢失,php – 神秘空$_POST数组
  9. English——视频总结(一)
  10. CentOS 7中源码安装MySQL 5.7.16 ----已测试验证
  11. android 渲染yuv数据,Android opengl渲染yuv420例子
  12. jpg格式的矢量化arcgis_arcgis将jpg矢量化,带坐标导出TIFF格式,再导入cad的方法...
  13. 【已解决】Magisk提示需要修复运行环境怎么办? | 面具提示需要修复运行环境怎么办?
  14. TIA安装GSD文件
  15. 顶级的 18 款开源低代码开发平台
  16. 优质的APP推广渠道那么多,怎么选才好?
  17. 转:查理·芒格:让打击和麻烦成为成长的契机
  18. 保时捷狂推NFT,高调喊出打造Web3社区,Web2品牌“天生缺陷”终将折戟沉沙?...
  19. scrum立会报告+燃尽图(第二周第七次)
  20. 网易有道校招笔试总结

热门文章

  1. log4j的详细配置
  2. 华为单臂路由配置,实现不同vlan之间的通信
  3. 移动屏幕旋转解决方法
  4. source命令相当于(.)命令
  5. 云原生中间件 -- MongoDB Operator 篇
  6. 从Meerkat的失败、映客的走红,看直播伪风口
  7. css3之图片展开效果和盾牌飞入
  8. C语言 sizeof关键字
  9. 单麦降噪经典书籍《Speech enhancement: theory and practice》读书笔记(第1章~第4章)
  10. 开源代码难阅读?几位研发的“妙招”帮你解决