Android 系列 5.7使用Google ZXing条形码扫描器扫描条形码或QR码
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码相关推荐
- Android 系列 5 7使用Google ZXing条形码扫描器扫描条形码或QR码
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 5.7使 ...
- 条形码扫描器识别条形码的原理
条形码扫描器识别条形码的原理 条形码扫描器识别条形码时,根据不同颜色的物体,其反射的可见光的波长不同,白色物体能反射各种波长的可见光,黑色物体则吸收各种波长的可见光,当条形码扫描器光源发出的光经光阑及 ...
- Android利用zxing用相机扫描识别二维码(添加闪光灯和本地二维码)超详细教程
之前写了怎么用zxing的jar包进行简单的识别和生成二维码,以及生成带图片的二维码. 接下来单独说说怎么用相机扫描二维码,用相机扫描二维码相对于前面的生成二维码,识别二维码来说要麻烦一点,网上的教程 ...
- 利用google.zxing 生成携带信息的二维码并保存
废话不多说 利用谷歌的zxing生成二维码 到pom.xml导入com.google.zxing的jar包 <dependency><groupId>com.google.zx ...
- Android基于Google Zxing实现二维码/条形码扫描、生成二维码/条形码
二维码/条形码生成器 二维码/条形码扫描器 一.二维码与条形码工作原理 目前的很多应用上都有扫码功能,当时微信推出二维码扫码功能时,觉得imagine,通过一张简单的图片就能扫描添加还有,还有分 ...
- android扫条形码功能,详解Android 扫描条形码(Zxing插件)
使用Android Studio 一.在build.gradle(Module:app)添加代码 下载,调用插件 apply plugin: 'com.android.application' an ...
- Android开发之google Zxing实现二维码扫描的代码分析
1.技术简介 在Android中实现二维码的扫描主要是通过第三方框架来实现的,主要框架是google的Zxing.现在就用该框架来实现二维码及条形码的扫描及识别,同时对于手机中存储的图片也进行识 ...
- Google Zxing 只扫描二维码或者只扫描条形码
Google Zxing怎样实现扫描二维码.条形码,具体参考我 这里主要说一下,怎样选择不同的模式. Zxing 默认支持扫描二维码.条形码两种功能,但是因为项目要求,禁止扫描二维码.那么怎样禁止扫描 ...
- Android扫描条形码与二维码
背景: Android生成条形码与二维码 该文简述了如何生成条形码与二维码,本文就来扫描一下条形码与二维码的内容 准备: implementation "com.google.zxing:c ...
最新文章
- C/C++ 静态库和动态库的区别
- linux视频教程 iptables 跟踪,linux – 了解iptables中的连接跟踪
- 如何获取本地安装的Python模块列表?
- python-day2~3
- iis php 假死 nginx,网站假死 重启NGINX无效 必须重启PHP 原因分析
- 后端架构高可用可伸缩讲解之高可用
- buidulbs android.jar,在将AS项目迁移到IDEA时,无法将com.android.bui...
- 基于贪心算法求解TSP问题(JAVA)
- 服气!蹭热点无敌,麦当劳发布“5G”新品:真香
- 嵌入式Linux截图工具gsnap移植与分析【转】
- 自动基线校正 python_红外光谱的
- UE4 虚幻引擎,蓝图Movement组件
- 1.1 爬虫入门介绍
- 硬件蓝牙测试软件,【原创】聊聊蓝牙测试专用硬件工具-Ubertooth
- opencv保存视频编码方式
- Java QQ群成员资料
- C++大数乘加减除比较操作集(含测试原码)
- 那些搁浅的爱情和梦想
- 无法安装此计算机不存在英特尔,win10系统提示无法安装驱动程序,此计算机中没有Intel适配器怎么办...
- GraphSAGE: 算法原理,实现和应用