Android利用ZXing扫描二维码的实例代码解析

相关阅读:

Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题

此项目源码地址:请点击这里

看一下zxing的项目结构,我这里直接拿过来用的

看一下扫码的activity:

package com.fanyafeng.barcode.activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.TextView; import android.widget.Toast; import com.fanyafeng.barcode.R; import com.fanyafeng.barcode.BaseActivity; import com.fanyafeng.barcode.util.ImageUtil; import com.fanyafeng.barcode.zxing.activity.CaptureActivity; import com.fanyafeng.barcode.zxing.activity.CodeUtils; //需要搭配baseactivity,这里默认为baseactivity,并且默认Baseactivity为包名的根目录 public class ScanCodeActivity extends BaseActivity { /** * 扫描跳转Activity RequestCode */ public static final int REQUEST_CODE = 111; /** * 选择系统图片Request Code */ public static final int REQUEST_IMAGE = 112; /** * 请求CAMERA权限码 */ public static final int REQUEST_CAMERA_PERM = 101; private TextView tvResult; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_scan_code); //这里默认使用的是toolbar的左上角标题,如果需要使用的标题为中心的采用下方注释的代码,将此注释掉即可 title = getString(R.string.title_activity_scan_code); initView(); initData(); } //初始化UI空间 private void initView() { tvResult = (TextView) findViewById(R.id.tvResult); } //初始化数据 private void initData() { } @Override public void onClick(View v) { super.onClick(v); switch (v.getId()) { case R.id.btnScan: Intent intent = new Intent(getApplication(), CaptureActivity.class); startActivityForResult(intent, REQUEST_CODE); // 本地扫描,识别相册中的二维码 // Intent intent = new Intent(Intent.ACTION_GET_CONTENT); // intent.addCategory(Intent.CATEGORY_OPENABLE); // intent.setType("image/*"); // startActivityForResult(intent, REQUEST_IMAGE); break; } } @Override protected void onActivityResult(final int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); /** * 处理二维码扫描结果 */ if (requestCode == REQUEST_CODE) { //处理扫描结果(在界面上显示) if (null != data) { Bundle bundle = data.getExtras(); if (bundle == null) { return; } if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS) { String result = bundle.getString(CodeUtils.RESULT_STRING); Toast.makeText(this, "解析结果:" + result, Toast.LENGTH_LONG).show(); tvResult.setText(result); } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) { Toast.makeText(ScanCodeActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } } } /** * 选择系统图片并解析 */ else if (requestCode == REQUEST_IMAGE) { if (data != null) { Uri uri = data.getData(); try { CodeUtils.analyzeBitmap(ImageUtil.getImageAbsolutePath(this, uri), new CodeUtils.AnalyzeCallback() { @Override public void onAnalyzeSuccess(Bitmap mBitmap, String result) { Toast.makeText(ScanCodeActivity.this, "解析结果:" + result, Toast.LENGTH_LONG).show(); tvResult.setText(result); } @Override public void onAnalyzeFailed() { Toast.makeText(ScanCodeActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show(); } }); } catch (Exception e) { e.printStackTrace(); } } } else if (requestCode == REQUEST_CAMERA_PERM) { Toast.makeText(this, "从设置页面返回...", Toast.LENGTH_SHORT).show(); } } }

注释中有本地二维码的识别

以上所述是小编给大家介绍的Android利用ZXing扫描二维码的实例代码解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-09-01 13:11:20

Android利用ZXing扫描二维码的实例代码解析的相关文章

Android利用ZXing扫描二维码的实例代码解析_Android

相关阅读: Android开发框架之自定义ZXing二维码扫描界面并解决取景框拉伸问题 此项目源码地址:请点击这里 看一下zxing的项目结构,我这里直接拿过来用的   看一下扫码的activity: package com.fanyafeng.barcode.activity; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; import android.os.Bund

android-Android 利用Zxing扫描二维码 小米魅族手机控制闪光灯经常失效

问题描述 Android 利用Zxing扫描二维码 小米魅族手机控制闪光灯经常失效 public void openLight() { if (mCamera != null) { parameter = mCamera.getParameters(); parameter.setFlashMode(Parameters.FLASH_MODE_TORCH); mCamera.setParameters(parameter); } } public void offLight() { if (mC

Android平台下利用zxing实现二维码开发

现在走在大街小巷都能看到二维码,而且最近由于项目需要,所以研究了下二维码开发的东西,开源的二维码扫描库主要有zxing和zbar,zbar在iPos平台上应用比较成熟,而在Android平台上主流还是用zxing库,因此这里主要讲述如何利用zxing进行二维码开发. 1.如何将zxing的Android源码导入工程. 在导入zxing的android源码之前,先去官方下载zxing的源码:http://code.google.com/p/zxing/downloads/list. 我这里下载的是

fragment 二维码-android fragment 集成扫描二维码功能

问题描述 android fragment 集成扫描二维码功能 我在一个activity里放了一个viewpager,viewpager里填充两个fragment, 其中一个fragment是扫描二维码的功能,扫描完以后会跳到另外一个页面,请做过的人提供一点思路,感谢! 解决方案 你用ZXing这个第三方的扫描sdk就可以了 解决方案二: ZXing识别出url,传值给另一个页面,页面中用webview显示. 解决方案三: http://download.csdn.net/detail/zhuo

Android之条码扫描二维码扫描

Android之条码扫描二维码扫描  二维码条形码扫描,参考技术网址:        1.Apache License 2.0 开源的 ZXing项目的简化版 http://xinlanzero.iteye.com/blog/1114826 (作者的项目中的缺少core.jar,需自己下载)        2.另外一篇关于Apache License 2.0 开源的 ZXing项目,该作者已经编译了core.jar可供下载 http://www.cnblogs.com/tankaixiong/a

android 通过客户扫描二维码获得用户手机号

问题描述 android 通过客户扫描二维码获得用户手机号 android中怎样实现二维码扫描后获取客户的手机号?用的是4.0以上的版本,需要获得哪些用户扫描了二维码,并把它传入数据库,有没有办法获得用户在线扫描的手机号码 解决方案 首先你要根据你自己的生成规则生成一个含手机号的二维码,识别出来再根据你的规则解析出来 解决方案二: 想错了,我可以直接在应用中想办法使用户给我手机号就行了

使用com.google.zxing扫描二维码返回Activity出错,求大神指点一下

问题描述 使用com.google.zxing扫描二维码返回Activity出错,求大神指点一下 调用代码 scanner_img.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { setSelected(); scanner_img.setSelected(true); scanner_text.setSelected(true); //扫描二维码 Intent inten

Android 点击生成二维码功能实现代码

先看效果: 输入内容,点击生成二维码: 点击logo图案: 代码: QRCodeUtil: package com.example.administrator.zxing; import android.graphics.Bitmap; import android.graphics.Canvas; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zx

Android基于zxing的二维码(网格)扫描 仿支付宝网格扫描

前言:对于二维码扫描我们使用的是开源框架Zxing或者Zbar,这里使用基于zxing的二维码扫描,类似支付宝网格扫描. 二维码原理介绍: 二维码是用某种特定的几何图形按一定的规律在平面上分布的黑白相间的图形记录数据符号信息的,在代码编制上巧妙的利用构成计算机内部逻辑基础的0/1比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图像输入设备或光电扫描设备自动识读以实现信息自动处理:二维码能够在横向和纵向两个方位同时表达信息,因此能在很小的面积内表达大量的信息. 效果: 真机