GitHub:https://github.com/bingoogolapple/BGAQRCode-Android

Layout:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_qrcode"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="cn.queenup.rike.activity.QRCodeActivity"><cn.bingoogolapple.qrcode.zxing.ZXingViewxmlns:app="http://schemas.android.com/apk/res-auto"android:id="@+id/qrcode_zxingview"android:layout_width="match_parent"android:layout_height="match_parent"app:qrcv_animTime="1000"app:qrcv_borderColor="@android:color/white"app:qrcv_borderSize="1dp"app:qrcv_cornerColor="#ffd535"app:qrcv_cornerLength="20dp"app:qrcv_cornerSize="3dp"app:qrcv_maskColor="#33000000"app:qrcv_rectWidth="200dp"app:qrcv_scanLineColor="@android:color/white"app:qrcv_scanLineSize="1dp"app:qrcv_qrCodeTipText="将二维码放入框内,即可自动扫描"app:qrcv_topOffset="220dp" /><include layout="@layout/toolbar_qrcode" /></RelativeLayout>

Activity:

public class QRCodeActivity extends BaseActivity implements QRCodeView.Delegate{// 动态申请权限(要申请的权限)private String[] permissions = {Manifest.permission.CAMERA,Manifest.permission.READ_EXTERNAL_STORAGE,Manifest.permission.WRITE_EXTERNAL_STORAGE};private ImageView iv_toolbar_back;private ImageView iv_toolbar_flash;private ZXingView zv_zxingView;private boolean isFlash;@Overrideprotected int getLayoutId() {return R.layout.activity_qrcode;}@Overrideprotected void initView() {iv_toolbar_back = (ImageView) findViewById(R.id.toolbar_qrcode_back);iv_toolbar_flash = (ImageView) findViewById(R.id.toolbar_qrcode_flash);zv_zxingView = (ZXingView) findViewById(R.id.qrcode_zxingview);}@Overrideprotected void initListener() {iv_toolbar_back.setOnClickListener(this);iv_toolbar_flash.setOnClickListener(this);}@Overrideprotected void initData() {checkPermissions();zv_zxingView.setDelegate(this);}private void checkPermissions() {// 版本判断。当手机系统大于 23 时,才有必要去判断权限是否获取if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {// 检查该权限是否已经获取int i1 = ContextCompat.checkSelfPermission(this, permissions[0]);int i2 = ContextCompat.checkSelfPermission(this, permissions[1]);int i3 = ContextCompat.checkSelfPermission(this, permissions[2]);// 权限是否已经 授权 GRANTED---授权  DINIED---拒绝if (i1 != PackageManager.PERMISSION_GRANTED ||i2 != PackageManager.PERMISSION_GRANTED ||i3 != PackageManager.PERMISSION_GRANTED) {// 请求权限ActivityCompat.requestPermissions(this, permissions, 321);}}}@Overridepublic void onClick(View v) {switch (v.getId()){case R.id.toolbar_qrcode_back:finish();break;case R.id.toolbar_qrcode_flash:// 闪光灯if (isFlash){zv_zxingView.closeFlashlight();}else{zv_zxingView.openFlashlight();}isFlash = !isFlash;break;}}@Overridepublic void onScanQRCodeSuccess(String result) {if (TextUtils.isEmpty(result)) {MyToast.showToast(QRCodeActivity.this,"未发现二维码");} else {
        // 处理二维码 result:扫描的结果Intent intent = new Intent(this,QRCodeProcessActivity.class);intent.putExtra(Constants.QRCODE,result);startActivity(intent);finish();}zv_zxingView.startSpotDelay(500);}@Overridepublic void onScanQRCodeOpenCameraError() {MyToast.showToast(App.mContext,"打开相机错误,请返回并重新打开");}@Overrideprotected void onStart() {super.onStart();zv_zxingView.startCamera();zv_zxingView.showScanRect();zv_zxingView.startSpotDelay(500);}@Overrideprotected void onStop() {zv_zxingView.stopCamera();super.onStop();}@Overrideprotected void onDestroy() {zv_zxingView.onDestroy();super.onDestroy();}
}

Android 集成二维码扫描器相关推荐

  1. Android 集成二维码扫描功能-zbar

    实现效果: 实现步骤: 1.Gradle添加二维码包引用. implementation 'cn.bingoogolapple:bga-qrcode-zbar:1.3.7' 添加好后,点击右上角的&q ...

  2. 玩转Android之二维码生成与识别

    二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的 ...

  3. LV4500R二维码扫描器在酒店入住自助机的应用案例,打造高效快速的扫码入住体验

    伴随着自助式扫码应用的普及,二维码扫描器应用方案让很多自助设备赋予了新的活力和生机,打造出机器更加灵活.便捷高效的"二维码扫描"功能,因此您会随处看到自助设备都有一个"二 ...

  4. Android 扫描二维码(Scan Kit)

    Android 扫描二维码(Scan Kit) 华为统一扫码服务(Scan Kit)能够提供专业的二维码与条形码扫描与解析能力,通过集成Scan Kit,帮助应用快速构建扫码功能. 统一扫码服务的功能 ...

  5. Android实现二维码扫描功能(一)ZXing插件接入

    简介 关于Android扫描二维码的功能实现,网上有很多相关资料.在对比之后,选用了前辈了修改过的ZXing直接接入到项目中,特制作此demo,介绍整个过程. (最新更新)本篇文章讲解的接入方法对部分 ...

  6. Android之二维码生成与识别 读取相册

    二维码生成与扫描 转自http://blog.csdn.net/u012702547/article/details/51501350 读取相册二维码 转自http://blog.csdn.net/a ...

  7. 快速集成二维码扫描,使用最新版本的zxing(2017.11.10抽取zxing代码)

    github 地址: github.com/maning0303/- ZXingCode 快速集成二维码扫描,使用最新版本的zxing代码提取(2017.11.10) 功能: 1:生成二维码(带Log ...

  8. 永久免费的专业二维码生成器和二维码扫描器

    二维码服务平台.D客二维码.D客扫一扫.专业二维码生成器.专业二维码扫描器.网站/网址/产品/图片/名片/电话/E-Mail/文本/短信/文件/位置/活码二维码生成器.D客商城 PC端下载:http: ...

  9. Android 自定义二维码

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

最新文章

  1. Java生成html为pdf
  2. Javascript 中 null、NaN和undefined的区别
  3. 《STL源码剖析》学习--traits
  4. Android --- RecycleView 中默认选择第一个 item,点击第 2 个 item 时改变其字体样式,其余的 item 的字体样式恢复默认
  5. 苹果mp3软件_神技能!!!音视频制作软件
  6. Linux有问必答:如何检查Linux的内存使用状况
  7. linux 文档操作,Linux学习之文档操作
  8. 删除文件及文件夹命令
  9. 笔记本电脑锁_2020年双11有哪些值得选购的笔记本电脑?(全能本/便携高性能笔记本电脑/设计本)...
  10. Python return逻辑判断表达式 - 零基础入门教程
  11. WPF 代码设置NotifyIcon图标
  12. 飞鸽传书2007的java学习感想
  13. 趣谈 | Python为什么受欢迎的本质,知道的人寥寥无几?
  14. 转:基于iOS上MDM技术相关资料整理及汇总
  15. 吉林大学研究生课程-面向对象方法2020考试复习资料
  16. usb抓包工具 安卓_USB抓包工具(Bus Hound)下载 v6.0.1 官方版
  17. Unity3D基础数学向量
  18. OA系统有哪些功能?在企业中发挥怎样的作用?
  19. 59 SD配置-科目分配-分配科目代码
  20. 最好的EM算法介绍-由例子介绍原理

热门文章

  1. 75、单元测试-嵌套测试
  2. 解决navicat for mysql 11版本的破解问题
  3. Java 设计模式最佳实践:一、从面向对象到函数式编程
  4. keyshot渲染图文教程_keyshot实例教程,keyshot汽车渲染图文教程
  5. 动态可监控线程池,你还没用起来吗?
  6. 谷歌神经网络框架,谷歌深度神经网络
  7. SAP可配置物料Super BOM的相关配置
  8. JAVA编程题全集(50题及答案) 之 21-50题
  9. 数独游戏(Sudoku Game)
  10. 谁在滋养你,谁在消耗你