5.7使用Google ZXing条形码扫描器扫描条形码或QR码

问题
您希望应用程序能够扫描条形码或QR码(“QR”原本代表“快速反应”)。

使用Intent访问由Google ZXing条形码扫描器公开的扫描功能。
讨论
Android的一个伟大的功能是它是多么容易利用现有的功能。扫描条形码和QR码是一个很好的例子。 Google有一个免费的扫描应用程序,您可以通过意图访问;因此应用程序可以轻松添加扫描功能,开放新的界面,通信和功能的可能性。
此配方中的程序是如何通过Intent访问Google条码扫描器的示例。确保已安装Google条码扫描器(https://market.android.com/details?id=com.google.zxing.client.android)。在图中,有三个按钮,让用户选择扫描QR码,产品条形码或其他东西。有两个TextView用于显示扫描的条形码类型及其包含的数据。布局是常规的:一个垂直的LinearLayout,所以我们不需要在这里重现它。

活动代码如例5-16所示;根据按下哪个按钮,程序在启动ZXing活动之前将相关参数放入Intent,并等待结果。
实例5-16。扫描程序主活动

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void HandleClick(View arg0) {
Intent intent = new Intent("com.google.zxing.client.android.SCAN");
switch(arg0.getId()){
case R.id.butQR:
intent.putExtra("SCAN_MODE", "QR_CODE_MODE");
break;
case R.id.butProd:
intent.putExtra("SCAN_MODE", "PRODUCT_MODE");
break;
case R.id.butOther:
intent.putExtra("SCAN_FORMATS", "CODE_39,CODE_93,CODE_128,DATA_MATRIX,ITF,CODABAR");
break;
}
try {
startActivityForResult(intent, 0); //Barcode Scanner to scan for us
} catch (ActivityNotFoundException e) {
Toast.makeText(this, "Please install the ZXing Barcode Scanner app", Toast.LENGTH_LONG).show();
}
}
public void onActivityResult(int requestCode, int resultCode, Intent intent) {
if (requestCode == 0) {
TextView tvStatus=(TextView)findViewById(R.id.tvStatus);
TextView tvResult=(TextView)findViewById(R.id.tvResult);
if (resultCode == RESULT_OK) {
tvStatus.setText(intent.getStringExtra("SCAN_RESULT_FORMAT"));
tvResult.setText(intent.getStringExtra("SCAN_RESULT"));
} else if (resultCode == RESULT_CANCELED) {
tvStatus.setText("Press a button to start a scan.");
tvResult.setText("Scan cancelled.");
}
}
}
}

注意,在下面的表格中,如何可以扫描条形码族(使用SCAN_MODE)或特定类型的条形码(使用SCAN_FORMATS)。如果知道正在解码什么类型的条形码,则将扫描格式设置为该特定类型可以导致更快的解码(它不会试图运行通过所有条形码解码算法)。例如,您可以使用intent.putExtra(“SCAN_FORMATS”,“CODE_39”)。要使用多个SCAN_FORMATS,您需要传递逗号分隔的列表;请参见示例5-16。

现在去,使扫描库存控制或杂货列表应用程序,你一直在想!

Android 系列 5.7使用Google ZXing条形码扫描器扫描条形码或QR码相关推荐

  1. Android 系列 5 7使用Google ZXing条形码扫描器扫描条形码或QR码

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 5.7使 ...

  2. 条形码扫描器识别条形码的原理

    条形码扫描器识别条形码的原理 条形码扫描器识别条形码时,根据不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,当条形码扫描器光源发出的光经光阑及 ...

  3. Android利用zxing用相机扫描识别二维码(添加闪光灯和本地二维码)超详细教程

    之前写了怎么用zxing的jar包进行简单的识别和生成二维码,以及生成带图片的二维码. 接下来单独说说怎么用相机扫描二维码,用相机扫描二维码相对于前面的生成二维码,识别二维码来说要麻烦一点,网上的教程 ...

  4. 利用google.zxing 生成携带信息的二维码并保存

    废话不多说 利用谷歌的zxing生成二维码 到pom.xml导入com.google.zxing的jar包 <dependency><groupId>com.google.zx ...

  5. Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码

     二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分 ...

  6. android扫条形码功能,详解Android 扫描条形码(Zxing插件)

    使用Android Studio 一.在build.gradle(Module:app)添加代码  下载,调用插件 apply plugin: 'com.android.application' an ...

  7. Android开发之google Zxing实现二维码扫描的代码分析

    1.技术简介    在Android中实现二维码的扫描主要是通过第三方框架来实现的,主要框架是google的Zxing.现在就用该框架来实现二维码及条形码的扫描及识别,同时对于手机中存储的图片也进行识 ...

  8. Google Zxing 只扫描二维码或者只扫描条形码

    Google Zxing怎样实现扫描二维码.条形码,具体参考我 这里主要说一下,怎样选择不同的模式. Zxing 默认支持扫描二维码.条形码两种功能,但是因为项目要求,禁止扫描二维码.那么怎样禁止扫描 ...

  9. Android扫描条形码与二维码

    背景: Android生成条形码与二维码 该文简述了如何生成条形码与二维码,本文就来扫描一下条形码与二维码的内容 准备: implementation "com.google.zxing:c ...

最新文章

  1. C/C++ 静态库和动态库的区别
  2. linux视频教程 iptables 跟踪,linux – 了解iptables中的连接跟踪
  3. 如何获取本地安装的Python模块列表?
  4. python-day2~3
  5. iis php 假死 nginx,网站假死 重启NGINX无效 必须重启PHP 原因分析
  6. 后端架构高可用可伸缩讲解之高可用
  7. buidulbs android.jar,在将AS项目迁移到IDEA时,无法将com.android.bui...
  8. 基于贪心算法求解TSP问题(JAVA)
  9. 服气!蹭热点无敌,麦当劳发布“5G”新品:真香
  10. 嵌入式Linux截图工具gsnap移植与分析【转】
  11. 自动基线校正 python_红外光谱的
  12. UE4 虚幻引擎,蓝图Movement组件
  13. 1.1 爬虫入门介绍
  14. 硬件蓝牙测试软件,【原创】聊聊蓝牙测试专用硬件工具-Ubertooth
  15. opencv保存视频编码方式
  16. Java QQ群成员资料
  17. C++大数乘加减除比较操作集(含测试原码)
  18. 那些搁浅的爱情和梦想
  19. 无法安装此计算机不存在英特尔,win10系统提示无法安装驱动程序,此计算机中没有Intel适配器怎么办...
  20. GraphSAGE: 算法原理,实现和应用

热门文章

  1. 易经之潜龙见龙惕龙 No.206
  2. 空间几何-向量在另外一个向量上的投影计算
  3. 定点数与浮点数(小数)
  4. CDISC的ADaMIG (V1.2) 中英文对照【5】_第五章 附录
  5. 九 Java_集合框架
  6. AE基础教程第一阶段——16运动模糊,帧混合,三维层
  7. 人工智能改变教学方式
  8. 【博客118】有趣的谬论—龟兔谬论
  9. 计算机学院开展的比赛,信息工程学院首届大学生计算机操作技能大赛顺利开展...
  10. 广东省科技进步奖二等奖!天翼物联NB-IoT技术助推万物智联