Android 二维码扫描/生成

先看看实现效果

 

1.在module的build.gradle中执行compile操作

compile 'cn.yipianfengye.android:zxing-library:2.2'

2.在Application中执行初始化操作

ZXingLibrary.initDisplayOpinion(this);

3. 在代码中执行打开扫描二维码界面

/**
  * 打开默认二维码扫描界面
*/ 
button1.setOnClickListener(new View.OnClickListener() { 
  @Override
    public void onClick(View v) { 
      Intent intent = new Intent(MainActivity.this, CaptureActivity.class);      
       startActivityForResult(intent, REQUEST_CODE);
       // REQUEST_CODE是我们定义的int型常量。
  }
});

 4.在Activity的onActivityResult方法中接收扫描结果

/**
         * 处理二维码扫描结果
*/
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();
   } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {
    Toast.makeText(MainActivity.this, "解析二维码失败", Toast.LENGTH_LONG).show();
    }
  }
}

 5.生成带Logo的二维码图片

 mBitmap = CodeUtils.createImage(textContent, 400, 400,BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
imageView.setImageBitmap(mBitmap);

 6.生成不带logo的二维码图片

 mBitmap = CodeUtils.createImage(textContent, 400, 400, null);
 imageView.setImageBitmap(mBitmap);

 

posted @ 2018-10-28 01:18  monkey0928  阅读(365)  评论(0编辑  收藏  举报