Android快速SDK(15)二维码扫描Scanner【傻瓜模式】

本文介绍如何基于zxing.jar库封装一个简单的二维码扫描SDK,提供启动类和自定义样式的方法,包括设置摄像头视角、背景颜色、扫描线等属性。提供了代码示例和布局文件展示。
摘要由CSDN通过智能技术生成

代码:http://download.csdn.net/detail/huangbin95487710/9260261

依赖包模式

完整运行还需要用到以下依赖包

基于zxing.jar库升级封装成傻瓜模式

  1. 二维码启动类,请复制到目标项目
    • package cn.whonow.whonow.scanner;
      
      import General.Scanner.Decoding.Scanner;
      import android.app.Activity;
      import android.content.Context;
      import android.content.Intent;
      import android.os.Bundle;
      import android.view.View;
      import android.view.View.OnClickListener;
      import android.widget.TextView;
      import cn.whonow.whonow.R;
      
      /**
       * 初始化二维码拍照
       * 
       * @author HuangYi QQ:95487710
       */
      public class ScannerActivity extends Activity {
      
      	public static void startScannerActivity(Context context) {
      		Intent intent = new Intent();
      		intent.setClass(context, ScannerActivity.class);
      		context.startActivity(intent);
      	}
      
      	public static void startScannerActivity(Context context, int mStyles) {
      		Intent intent = new Intent();
      		intent.putExtra(KEY_STYLES, mStyles);
      		intent.setClass(context, ScannerActivity.class);
      		context.startActivity(intent);
      	}
      
      	public static void startScannerActivity(Context context, int mStyles,
      			int mLayoutID) {
      		Intent intent = new Intent();
      		intent.putExtra(KEY_STYLES, mStyles);
      		intent.putExtra(KEY_LAYOUT, mLayoutID);
      		intent.setClass(context, ScannerActivity.class);
      		context.startActivity(intent);
      	}
      
      	private static final String KEY_STYLES = "key_styles";
      	private static final String KEY_LAYOUT = "key_layout";
      
      	private Scanner mScanner;
      	private int mStylesId;
      	private int mLayoutId;
      
      	/** Called when the activity is first created. */
      	@Override
      	public void onCreate(Bundle savedInstanceState) {
      		super.onCreate(savedInstanceState);
      
      		Bundle mBundle = getIntent().getExtras();
      		if (mBundle != null) {
      			mStylesId = mBundle.getInt(KEY_STYLES, -1);
      			mLayoutId = mBundle.getInt(KEY_LAYOUT, -1);
      		}
      		if (mLayoutId > 0)
      			setContentView(mLayoutId);
      		else
      			setContentView(R.layout.test_scanner);
      
      		mScanner = new Scanner(this, mStylesId);
      		
      		TextView open = (TextView) findViewById(R.id.scanner_open);
      		if (open != null) {
      			open.setOnClickListener(new OnClickListener() {
      
      				@Override
      				public void onClick(View v) {
      					// TODO Auto-generated method stub
      					mScanner.openCamera();
      				}
      
      			});
      		}
      
      		TextView close = (TextView) findViewById(R.id.scanner_close);
      		if (close != null) {
      			close.setOnClickListener(new OnClickListener() {
      
      				@Override
      				public void onClick(View v) {
      					// TODO Auto-generated method stub
      					mScanner.closeCamera();
      				}
      
      			});
      		}
      
      	}
      
      	@Override
      	protected void onResume() {
      		super.onResume();
      		if (mScanner != null) {
      			mScanner.onResume();
      		}
      
      	}
      
      	@Override
      	protected void onPause() {
      		super.onPause();
      		if (mScanner != null) {
      			mScanner.onPause();
      		}
      	}
      
      	@Override
      	protected void onDestroy() {
      		if (mScanner != null) {
      			mScanner.onDestroy();
      		}
      		super.onDestroy();
      	}
      
      }

  2. 属性
    • 设置摄像头视角宽与高
    • 设置摄像头视野外背景
    • 设置摄像头边框
    • 设置扫
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值