文档章节

Zxing扫描二维码

当空皓月
 当空皓月
发布于 2014/03/26 11:33
字数 385
阅读 4099
收藏 2

1、开源项目地址:https://github.com/zxing/zxing

2、jar包下载地址:http://repo1.maven.org/maven2/com/google/zxing/core/ 可以选择版本号,然后下载。

3、导入demo:  导入android 文件夹即可。

4、网上精简版demo:  http://blog.csdn.net/xiaanming/article/details/10163203 

    http://www.cnblogs.com/dolphin0520/p/3355728.html 


效果图:

caution:

  1. 手机横竖屏问题

    位置:CameraConfigurationManager.initFromCameraParameters

    修改代码:if (width < height) {
        camera.setDisplayOrientation(90);//添加的代码
       int temp = width;
       width = height;
       height = temp;
      }

    位置:CameraManager.getFramingRectInPreview

    修改代码: WindowManager manager = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE);
      Display display = manager.getDefaultDisplay();
      int width = display.getWidth();
      int height = display.getHeight();
      if (width<height) {
       System.out.println("竖屏");
       rect.left = rect.left * cameraResolution.y / screenResolution.x;
       rect.right = rect.right * cameraResolution.y / screenResolution.x;
       rect.top = rect.top * cameraResolution.x / screenResolution.y;
       rect.bottom = rect.bottom * cameraResolution.x / screenResolution.y;
      }

      if (width>height) {
       System.out.println("横屏");
       rect.left = rect.left * cameraResolution.x / screenResolution.x;
       rect.right = rect.right * cameraResolution.x / screenResolution.x;
       rect.top = rect.top * cameraResolution.y / screenResolution.y;
       rect.bottom = rect.bottom * cameraResolution.y / screenResolution.y;
      }

2.扫描结果对话框

   位置:CaptureActivity.handleDecode

  修改代码:if (!TextUtils.isEmpty(result)) {
   AlertDialog.Builder builder = new AlertDialog.Builder(this);
         builder.setMessage(result)
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                     //请求网络,发送数据
                     new AsyncTask<String, Void, String>() {
                    @Override
                     protected String doInBackground(String... params) {
                          AccessToServer accessToServer=new AccessToServer  ("
http://192.168.254.1:8080/ZxingWeb/sendScancode");
                         return   accessToServer.doPost(new String[]{"content"}, new String[]{result});
                     }
                       protected void onPostExecute(String result) {
                        //System.out.println(result);
                   };
             }.execute();
          //页面跳转打开网页
             Intent mIntent=new Intent(CaptureActivity.this,WebViewActivity.class);
            mIntent.putExtra("url", result);
             startActivity(mIntent);
                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                    finish();              //这个地方非常关键,如果不finish()的话,第二次扫描可能要好长时间,或者扫不出来
                    }
                });
        builder.create().show();

         
   /*Intent intent = new Intent();
   intent.putExtra("scan_result", rawResult.getText());
   setResult(RESULT_OK, intent);*/
  } else {
   setResult(RESULT_CANCELED);
  }
  // finish();           //记得要注释掉

3.扫描灵敏度问题

  距离二维码多远能扫描出来?

  多长时间能扫出来?

 

 

© 著作权归作者所有

当空皓月
粉丝 14
博文 179
码字总数 67070
作品 0
郑州
私信 提问
zxing 如何识别反转二维码

说起二维码扫描,估计很多人用的是 zxing 吧。 然而 zxing 虽然好用,但是却有一些坑。 这边分析一下自己实际项目遇到的一个坑。 什么坑呢? 下面举个栗子你就懂了。 这边生成二维码使用的是...

AndroidTraveler
2018/07/23
0
0
Android微信扫描二维码登入实现 基于ZXing开源工程

项目需求,做一个类似微信扫描二维码,网页端登陆的功能实现。 利用开源项目ZXing来实现。ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码。目标是能够对QR编码、Data Matrix、UPC的1...

jeffzhao
2013/02/02
14.2K
7
利用iText和zxing生成和读pdf417二维码

前面的一些博文中已经提到了zxing这个开源工具生成和读取二维码图片,仅从学习的角度来看,可以告一个段落。在实际的生产环境中,应用zxing生成和读取二维码,却存在一些问题: 使用扫描枪读...

彭苏云
2014/03/06
3.3K
0
基于zxing-lib三步实现Android二维码应用

只需要基于开源项目zxing-lib,便可轻松创建独立二维码App,也可将二维码功能集成进App内。本文也是zxing-lib的使用文档。同时抛砖引玉,欢迎大家一起共建zxing-lib。 项目地址:https://git...

yuminw
2014/08/23
2.4K
8
android 二维码扫描算法优化问题

哪位大虾做过android二维码的优化问题么?最近在搞一个二维码扫描功能,zxing、zbar都试了下,感觉zbar更快吧,但是zbar是c写的,封装成so库看不到算法啊,找到文档都是ios的。。然后zxing反...

hzy00
2014/07/28
7.1K
1

没有更多内容

加载失败,请刷新页面

加载更多

iota硬件集成实战教程

本教程面向iota初学者,我们将学习如何开发基于指定IOTA地址的余额来闭合或断开一个连接到树莓派上的继电器,点亮或熄灭LED。教程虽然简单,但足以展示IOTA的强大能力。 我们将使用一个联网的...

汇智网教程
14分钟前
4
0
influxdb-1.7.8绿色安装-centos7

influxdb作为一款性能强悍的时序数据库, 一旦拥有, 别无所求. 本文介绍它的绿色安装方法. 环境准备, 下载, 解压. [dev5@7bdc6644c7c4 influxdb-1.7.8] cat /etc/redhat-release CentOS Linu...

dev5
18分钟前
2
0
Java 11 新特性

java 11 是继 java8 之后的第一个LTS版本。因此有必要针对它进行一些深入的学习,虽然短时间内java8 还是主流版本。当然,如果从java8基础上升级,几乎可以确定目标就是java11。 同时也要明确...

polly
19分钟前
2
0
SVG

本文转载于:专业的前端网站➯SVG SVG 是使用 XML 来描述二维图形和绘图程序的语言。 SVG 使用 XML 编写。 一、什么是SVG? SVG 指可伸缩矢量图形,使用 XML 格式定义图形,SVG图像在放大或改...

前端老手
20分钟前
3
0
zabbix server proxy

server./configure --prefix=/data/zabbix3.4 --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/data/mysql-5.6.44-linux-glibc2.12-x8......

雁南飞丶
21分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部