Android 集成二维码扫描器
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 集成二维码扫描器相关推荐
- Android 集成二维码扫描功能-zbar
实现效果: 实现步骤: 1.Gradle添加二维码包引用. implementation 'cn.bingoogolapple:bga-qrcode-zbar:1.3.7' 添加好后,点击右上角的&q ...
- 玩转Android之二维码生成与识别
二维码,我们也称作QRCode,QR表示quick response即快速响应,在很多App中我们都能见到二维码的身影,最常见的莫过于微信了.那么今天我们就来看看怎么样在我们自己的App中集成二维码的 ...
- LV4500R二维码扫描器在酒店入住自助机的应用案例,打造高效快速的扫码入住体验
伴随着自助式扫码应用的普及,二维码扫描器应用方案让很多自助设备赋予了新的活力和生机,打造出机器更加灵活.便捷高效的"二维码扫描"功能,因此您会随处看到自助设备都有一个"二 ...
- Android 扫描二维码(Scan Kit)
Android 扫描二维码(Scan Kit) 华为统一扫码服务(Scan Kit)能够提供专业的二维码与条形码扫描与解析能力,通过集成Scan Kit,帮助应用快速构建扫码功能. 统一扫码服务的功能 ...
- Android实现二维码扫描功能(一)ZXing插件接入
简介 关于Android扫描二维码的功能实现,网上有很多相关资料.在对比之后,选用了前辈了修改过的ZXing直接接入到项目中,特制作此demo,介绍整个过程. (最新更新)本篇文章讲解的接入方法对部分 ...
- Android之二维码生成与识别 读取相册
二维码生成与扫描 转自http://blog.csdn.net/u012702547/article/details/51501350 读取相册二维码 转自http://blog.csdn.net/a ...
- 快速集成二维码扫描,使用最新版本的zxing(2017.11.10抽取zxing代码)
github 地址: github.com/maning0303/- ZXingCode 快速集成二维码扫描,使用最新版本的zxing代码提取(2017.11.10) 功能: 1:生成二维码(带Log ...
- 永久免费的专业二维码生成器和二维码扫描器
二维码服务平台.D客二维码.D客扫一扫.专业二维码生成器.专业二维码扫描器.网站/网址/产品/图片/名片/电话/E-Mail/文本/短信/文件/位置/活码二维码生成器.D客商城 PC端下载:http: ...
- Android 自定义二维码
Android生成二维码使用的是zxing. 1.加入依赖,或者自己选择zxing版本:Releases · zxing/zxing · GitHub dependencies {...impleme ...
最新文章
- Java生成html为pdf
- Javascript 中 null、NaN和undefined的区别
- 《STL源码剖析》学习--traits
- Android --- RecycleView 中默认选择第一个 item,点击第 2 个 item 时改变其字体样式,其余的 item 的字体样式恢复默认
- 苹果mp3软件_神技能!!!音视频制作软件
- Linux有问必答:如何检查Linux的内存使用状况
- linux 文档操作,Linux学习之文档操作
- 删除文件及文件夹命令
- 笔记本电脑锁_2020年双11有哪些值得选购的笔记本电脑?(全能本/便携高性能笔记本电脑/设计本)...
- Python return逻辑判断表达式 - 零基础入门教程
- WPF 代码设置NotifyIcon图标
- 飞鸽传书2007的java学习感想
- 趣谈 | Python为什么受欢迎的本质,知道的人寥寥无几?
- 转:基于iOS上MDM技术相关资料整理及汇总
- 吉林大学研究生课程-面向对象方法2020考试复习资料
- usb抓包工具 安卓_USB抓包工具(Bus Hound)下载 v6.0.1 官方版
- Unity3D基础数学向量
- OA系统有哪些功能?在企业中发挥怎样的作用?
- 59 SD配置-科目分配-分配科目代码
- 最好的EM算法介绍-由例子介绍原理