1.加载静态库和初始化 ImageScanner.

static {System.loadLibrary("iconv");}// net.sourceforge.zbar.ConfigmImageScanner = new ImageScanner();mImageScanner.setConfig(0, Config.X_DENSITY, 3);mImageScanner.setConfig(0, Config.Y_DENSITY, 3);

2.打开Camera设置previewcallback.

try {mCamera.setPreviewDisplay(mSurfaceHolder);} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}mCamera.setPreviewCallback(previewCallback);mCamera.startPreview();

3.定义previewcallback.

public Camera.PreviewCallback previewCallback = new Camera.PreviewCallback() {@Overridepublic void onPreviewFrame(byte[] data, Camera camera) {// TODO Auto-generated method stubif (!isPass) {Camera.Parameters parameters = camera.getParameters();Size size = parameters.getPreviewSize();Image barcode = new Image(size.width, size.height, "Y800");barcode.setData(data);int result = mImageScanner.scanImage(barcode);if (result != 0) {String mDecodeQRCode = "";SymbolSet syms = mImageScanner.getResults();for (Symbol sym : syms) {mDecodeQRCode = sym.getData();Log.i("W", "HDMI_Decode--> " + mDecodeQRCode);Toast.makeText(MainActivity.this, "QRCode: " + mDecodeQRCode, Toast.LENGTH_SHORT).show();if (mDecodeQRCode != null && !isPass) {// if (mDecodeQRCode.equals(mCurQR)) {resetCamera();isPass = true;//playSound();// }}break;}}}}};

程序需要用到Zbar.jar。

更多相关文章

  1. Android(安卓)app开机启动
  2. android之simpleAdaper应用
  3. Android简单的Fragment嵌套Fragment(Viewpager+Fragement)
  4. SearchView 自动展开和弹出输入法
  5. Android(安卓)XUtils的cookie
  6. android wpa_supplicant 流程分析
  7. android wpa_supplicant 流程分析
  8. Android(安卓)seekbar 滑动时上方显示进度
  9. Android(安卓)BaseAdapter使用及listview优化

随机推荐

  1. 关于在php中使用curl发送get请求时参数传
  2. 基于AIML的PHP聊天机器人
  3. PHP多任务秒级定时器的实现方法
  4. 四种好用的PHP自定义加密函数(可逆/不可逆
  5. php实现上传图片功能
  6. laravel输出xml数据,php输出xml格式数据
  7. php上传文件找不到临时文件夹(解决方法)
  8. php 解决项目中多个自动加载冲突问题
  9. PHP每15分钟自动更新网站地图(减少服务器
  10. php会话处理分析