android扫码二维码识别二维码
1. 快速集成扫码二维码,识别二维码功能。经过加工处理优化的,直接返回扫码结果字符串和图片的bitmap数据。
直接上代码:
package com.xinxinchelian.myscanzxing;import android.Manifest;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;import com.example.scanzxing.zxing.android.CaptureActivity;
import com.example.scanzxing.zxing.common.Constantes;import java.net.URLDecoder;
import java.net.URLEncoder;/*** @Author: rhj* @CreateDate: 2020/12/14 21:26*/
public class MainActivity extends AppCompatActivity {private AppCompatActivity mActivity;@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_setting);mActivity = this;initView();ScreenUtils(getWindow());}public static void ScreenUtils(Window window) {if (window == null){return;}window.setFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);//---------------------------------------------------------------------}private void initView() {findViewById(R.id.test_qr_scan_btn_TV).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//动态权限申请if (ContextCompat.checkSelfPermission( mActivity, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {ActivityCompat.requestPermissions( mActivity, new String[]{Manifest.permission.CAMERA}, 1);} else {goScan();}}});}/*** 跳转到扫码界面扫码*/private void goScan(){Intent intent = new Intent(mActivity , CaptureActivity.class);startActivityForResult(intent, Constantes.REQUEST_CODE_SCAN );}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);// 扫描二维码/条码回传if (requestCode == Constantes.REQUEST_CODE_SCAN && resultCode == RESULT_OK) {if (data != null) {//返回的文本内容String content = data.getStringExtra(Constantes.CODED_CONTENT);Bitmap bitmap = data.getParcelableExtra(Constantes.CODED_BITMAP);//返回的BitMap图像
// Bitmap bitmap = data.getParcelableExtra(DECODED_BITMAP_KEY);
// tv_scanResult.setText("你扫描到的内容是:" + content);Toast.makeText(getApplicationContext(), "扫描到的内容是:" + content , Toast.LENGTH_LONG).show();Log.e("扫描到的内容是" , "扫描到的内容是:" + content);if (!TextUtils.isEmpty(content)){TextView plateNoTV = findViewById(R.id.test_qr_plateNo_TV);plateNoTV.setText("扫描结果: " + content);TextView plateNoTV2 = findViewById(R.id.test_qr_plateNo_TV2);plateNoTV2.setText("扫描结果反转义: " + testDecode(content));if (content.contains("plateNo=")){plateNoTV2.setText("扫描结果反转义: " + testDecode(content.substring(content.indexOf("plateNo=") + 8)));}}if (bitmap != null){ImageView textBitmapIMG = findViewById(R.id.test_Bitmap_IMG);textBitmapIMG.setVisibility(View.VISIBLE);textBitmapIMG.setImageBitmap(bitmap);} else {Log.e("扫描到的内容是" , "扫描到的内容是:bitmap = null" );}}}}public String testEncode(String url){
// String url="http://192.168.0.19:8888/cas/login";String urlEncodee= URLEncoder.encode(url);System.out.println(urlEncodee);return urlEncodee;}public String testDecode(String url){
// String url="http%3A%2F%2F192.168.0.19%3A8888%2Fcas%2Flogin";String urlDecode= URLDecoder.decode(url);System.out.println(urlDecode);return urlDecode;}}
需要的权限 AndroidManifest.xml:
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera"android:required="true" />
2. 导入aar包 scanzxinglibrary-release.aar(和jar功效一样)
3. 扫码效果,
demo下载地址:
https://download.csdn.net/download/renhaijuniryfe/19360939
https://download.csdn.net/download/renhaijuniryfe/19360983
android扫码二维码识别二维码相关推荐
- 二维码扫描+长按识别二维码demo
二维码扫描+长按识别二维码demo,已封装好 源码下载
- 戴眼镜检测和识别3:Android实现戴眼镜检测和识别(含源码,可实时检测)
Android实现戴眼镜检测和识别(含源码,可实时检测) 目录 Android实现戴眼镜检测和识别(含源码,可实时检测) 1.戴眼镜检测和识别方法 2.戴眼镜人脸检测 3.戴眼镜识别模型训练 4.戴眼 ...
- Android利用zxing用相机扫描识别二维码(添加闪光灯和本地二维码)超详细教程
之前写了怎么用zxing的jar包进行简单的识别和生成二维码,以及生成带图片的二维码. 接下来单独说说怎么用相机扫描二维码,用相机扫描二维码相对于前面的生成二维码,识别二维码来说要麻烦一点,网上的教程 ...
- qrcodejs2的错误、公众号识别不了二维码、公众号识别二维码没反应
如果你要问公众号识别二维码没反应,那它一定不是一张图片,哈哈哈哈哈哈哈!!!!! ps:qrcodejs2使用很简单不阐述,但是 但是它在苹果微信上生成了imgs,在安卓微信上生成的是canvas,所 ...
- 生成二维码和二维码的logo,识别二维码发送短信
发送短信到网站 http://www.smschinese.cn/ 上注册用户获取到(要填签名) THE_UID和THE_KEY.smsMob:手机号,smsText发送的信息(两个参数不能为空) ...
- Android利用zxing生成二维码,识别二维码,中间填充图片超详细、超简易教程
gayhub上的zxing可用于生成二维码,识别二维码 gayhub地址:https://github.com/zxing/zxing 此文只是简易教程,文末附有完整代码和demo下载地址,进入正题: ...
- Android 扫描、生成、识别二维码、条码 一库搞定
他来了,他来了,他带着YXing走来了. YXing 集成了CameraX + zxing, 简洁调用,功能完善,自定义扫码界面,再也不用像以前一样cv一堆冗余的Camera代码进项目了. 怎么集成: ...
- Python3 生成和识别二维码
文章目录 问题描述 代码 一点解释 [写在前面] 在当今社会中,二维码的使用非常的广泛.当然作为一名充满好奇心又爱装逼的 coder 怎么能不会使用二维码编码自己想表达的内容呢,尤其是用在装逼和找对象 ...
- iOS二维码识别/二维码生成
文章目录 前言 扫一扫识别二维码图片 长按图片识别二维码图片 生成二维码图片 代码完善 识别二维码图片优化 小结 前言 最近在做一个关于二维码的组件,已发布,现总结下. 开发的APP所需支持的最低版本 ...
- PHP二维码的生成与识别案例
二维码的分类线性堆叠式二维码 矩阵式二维码 二维码的优缺点 优点 信息容量大 编码范围广 容错能力强 译码可靠性高 可引入加密措施 成本低,易制作 缺点 二维码技术成为手机病毒.钓鱼网站传播的新渠道 ...
最新文章
- python fsolve_Python-optimize.leastsq()和optimize.fsolve()
- Android多线程分析之二:Thread的实现
- mac word 设置语言_如何更改Mac的语言和区域设置
- 前端基础进阶(七):函数与函数式编程
- css3新增特性集合贴
- android drawLayout抽屉布局
- Maven学习(三)-----Maven本地资源库
- 三元表达式、列表推导式、生成器表达式、递归、匿名函数、内置函数(day4)
- 大学计算机 学生成绩表格,学生成绩分析系统的设计与实现
- 【转】android gravity属性 和 weight属性
- 九、面向对象三大特征(三)—— 多态
- dell2900服务器做系统,dell2900如何重装系统
- Python 爬取科技部计划申报指南pdf文件并作词频分析
- mysql的升序和降序
- 利用阿里云短信找回密码 SpringBoot集成Mybatis
- mt6735通用recovery_Mtkroot ,arm64通用使用无需bl或者rec,安卓7以下使用最佳!
- 微信小程序PHP注册,微信小程序 教程之注册页面
- Mirror 镜像站点的使用
- 史上最全体检表、检验报告解析
- java2.0qq同步_qq同步助手2.0 apk下载
热门文章
- Rabbitmq客户端接收消息为字符数组解决
- STM32开发实战:W25Q32JV SPI Flash详解
- 为什么资源隔离对HTAP至关重要?
- 虚拟机 报错:Unmount and run xfs_repair
- 数据挖掘(一)你真的了解什么是数据挖掘和数据本身吗?
- Synctoy定时自动同步数据
- 焦深(depth of focus)
- python多叉树遍历_基于Python的多叉树遍历算法
- html 设置移动端页面滚动,a.html · 焚心/移动端页面上下滚动加多页面上拉加载功能及mescroll插件的使用 - Gitee.com...
- Keras教程:使用Keras开始深度学习和Python(上)