在Android用ZXing.jar识别二维码的精简版(简化了配置和代码)

最近公司做了一款OTP令牌激活的产品,由于之前激活手机令牌需要输入很多的激活信息才能进行激活。经过一段使用后,发现易用性不是很强,考虑如果加入二维码的的扫码功能岂不是大大增加了易用性。     在网上搜了很多资料,要不是配置太多,要不就是代码量太大,最后没办法就硬着头皮去写和去精简,最后压缩至目前的版本。如果有更好的版本可以联系我。

具体DEMO可以通过 下载http://download.csdn.net/detail/fugui6611634/7341277下载

本文代码运行的结果如下:

代码的结构如下:

下面主要来看一下配置文件:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.ft"
      android:versionCode="1"
      android:versionName="1.0">
    <application android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:name=".TwoCodeActivity"
                  android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

	    <activity
	            android:name="com.google.zxing.ui.CaptureActivity"
	            android:configChanges="keyboardHidden|orientation"
	            android:screenOrientation="landscape"
	            android:windowSoftInputMode="adjustResize|stateAlwaysHidden" />
    </application>

    <uses-sdk android:minSdkVersion="3" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.WAKE_LOCK" />
	<uses-permission android:name="android.permission.DEVICE_POWER" />
	<uses-permission android:name="android.permission.CAMERA" />
	<uses-permission android:name="android.permission.VIBRATE" />
	<uses-permission android:name="android.permission.FLASHLIGHT" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-feature android:name="android.hardware.camera" />
	<uses-feature android:name="android.hardware.camera.autofocus" /> 

</manifest> 

启动类 TwoCodeActivity.java

package com.ft;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

import com.google.zxing.ui.CaptureActivity;

public class TwoCodeActivity extends Activity {
    public static final int SCAN_CODE = 1;
    AlertDialog.Builder alertDialog = null;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button button = (Button)this.findViewById(R.id.scan);
        button.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                Intent intent = new Intent(TwoCodeActivity.this, CaptureActivity.class);
                startActivityForResult(intent, SCAN_CODE);
            }

        });        

    }

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        TextView textView = (TextView)this.findViewById(R.id.mytext);
        switch (requestCode) {
        case SCAN_CODE:
            if (resultCode == RESULT_OK) {
                String result = data.getStringExtra("scan_result");
                textView.setText("扫描成功:"+result);
            } else if (resultCode == RESULT_CANCELED) {
                textView.setText("扫描失败:");
            }
            break;
        default:
            break;
        }
    }
}

在Android用ZXing.jar识别二维码的精简版(简化了配置和代码)

时间: 2024-12-20 18:11:47

在Android用ZXing.jar识别二维码的精简版(简化了配置和代码)的相关文章

android使用qrcode_swetake.jar生成二维码

只有生成二维码的代码 优点是占用方法数比较少 以防65535 public class QRcodeUtil { static Paint paint; static { paint = new Paint(); // 设置一个笔刷大小是3的黄色的画笔 paint.setColor(Color.BLACK); paint.setStrokeJoin(Paint.Join.ROUND); paint.setStrokeCap(Paint.Cap.ROUND); paint.setStrokeWid

Android Studio 第七十六期 - Android webview长按识别二维码

代码已经整理好,效果如下图: 地址:https://github.com/geeklx/myapplication2018/tree/master/p019_shibie_qrcode 原文地址:http://blog.51cto.com/liangxiao/2150604

Android的二维码功能实现以及长按识别二维码

一.初步集成Zxing项目 二维码的识别可是在生活中随处可见的,现在基本上所有APP都有二维码的相关操作,如果识别二维码从头开始开发做起来还是相当复杂和麻烦的,从零开始开发肯定不现实,最好的做法就是借助现有的开源项目,Github上名气最大的就是Zxing了,提供了多个平台的二维码扫码解决方案,开源项目地址是:https://github.com/zxing/zxing,我们今天集成Zxing到我们自己的项目中去,并实现一些二维码生成.扫描.长按识别二维码等相关操作: 1.下载Zxing项目所依

C# ZXing.Net生成二维码、识别二维码、生成带Logo的二维码(一)

一.ZXing.Net 源代码地址:http://zxingnet.codeplex.com/ 也可以使用Nuget包管理,添加如图: 说明:ZXing是一个开源Java类库用于解析多种格式的1D/2D条形码.目标是能够对QR编码.Data Matrix.UPC的1D条形码进行解码. 其提供了多种平台下的客户端包括:J2ME.J2SE和Android.现在也有了对应的.Net版本 二.生成二维码 将字符编码时可以指定字符格式:默认为ISO-8859-1英文字符集,但一般移动设备常用UTF-8字符

在Qt5的QML中使用QZXing识别二维码

前言 ZXing库是一个用来识别二维码的库,QZXing是一个基于Qt的Qt wrapper library,在本文我们使用它和qml开发一个android小应用. 添加QZXing项目 QZXing最常用是作为一个子项目包含在我们的项目中,在我们的项目的pro文件中添加如下的一句: include(./QZXing/QZXing.pri) QZXing和我们的pro文件在同一个目录. qml程序 import QtQuick 2.0 import QtQuick.Controls 1.3 im

Android之自定义生成彩色二维码

先导个zxing.jar包 下面是xml布局 activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height=&

unity 调用手机摄像机 识别二维码

简单的调用手机摄像 拍摄 然后识别二维码 显示二维码的内容 需要导入一个zxing.unity.dll文件,现在这个脚本的识别数据是放在Updata里边扫描的 数据量特别大会卡  要是用的话就自己做一下一秒执行一次.我这里没有弄 下载地址http://download.csdn.net/detail/chh19941125/8734149 代码: using System.Threading; using UnityEngine; using ZXing; public class WebCam

php 识别二维码(转载)

近段需要写一个通过PHP来识别二维码的功能,在网上查了很久才解决问题.以此来记录下来解决问题的方法. 最开始找的方法是一个叫 php-zbarcode 的扩展,自己照着网上的安装步骤安装了 ImageMagick 和 zbar ,但编译 php-zbarcode 时出错了,后来换成Center OS 系统还是出错,由于技术有限也就放弃了. 然后是在github上找到了一个叫 php-qrcode-detector-decoder 的扩展,安装方法和使用方法如下,但安装完成后,只能识别只有二维码的

Qt+QZXing编写识别二维码的程序

本人最近在用Qt编写程序,需要用编写二维码识别功能.在网上搜寻一番,找到了QZXing.配置过程中确实出了一大把汗,这里我写这篇文章记录配置方法,替后人省一把汗吧!我的开发环境:MSVC2010 + Qt5 从这里下载最新版的QZXing_sourceV2.3.zip,解压之后得到的是源代码,里面有一个QZXing.pri文件.理论上用MSVC加载这个pri文件之后这个库的代码就会出现在工程的代码列表中,但是理论归理论,实际上msvc在加载pri的过程中,弹出一大堆错误信息,完全不知所云,网上找