二维码简单使用

一、二维码扫描页面
1.导包
implementation ‘cn.yipianfengye.android:zxing-library:2.2’
2.在demo Application中执行初始化操作
@Override
public void onCreate() {
super.onCreate();

ZXingLibrary.initDisplayOpinion(this);

}
在代码中执行打开扫描二维码界面操作
/**

  • 打开默认二维码扫描界面
    /
    button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
    Intent intent = new Intent(MainActivity.this, CaptureActivity.class);
    startActivityForResult(intent, REQUEST_CODE);
    }
    });
    在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();
    }
    }
    }
    二、调用系统API打开图库
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.addCategory(Intent.CATEGORY_OPENABLE);
    intent.setType("image/
    ");
    startActivityForResult(intent, REQUEST_IMAGE);
    在Activity的onActivityResult方法中获取用户选中的图片并调用二维码图片解析API
    if (requestCode == REQUEST_IMAGE) {
    if (data != null) {
    Uri uri = data.getData();
    ContentResolver cr = getContentResolver();
    try {
    Bitmap mBitmap = MediaStore.Images.Media.getBitmap(cr, uri);//显得到bitmap图片

     CodeUtils.analyzeBitmap(mBitmap, new CodeUtils.AnalyzeCallback() {
    

@Override
public void onAnalyzeSuccess(Bitmap mBitmap, String result) {
Toast.makeText(MainActivity.this, “解析结果:” + result, Toast.LENGTH_LONG).show();
}

@Override
public void onAnalyzeFailed() {
Toast.makeText(MainActivity.this, “解析二维码失败”, Toast.LENGTH_LONG).show();
}
});

    if (mBitmap != null) {
    mBitmap.recycle();
    }
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    三、生成二维码图片
     生成带Logo的二维码图片:
     /**
      * 生成二维码图片
      */
     button.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
String textContent = editText.getText().toString();
if (TextUtils.isEmpty(textContent)) {
Toast.makeText(ThreeActivity.this, “您的输入为空!”, Toast.LENGTH_SHORT).show();
return;
}
editText.setText("");
mBitmap = CodeUtils.createImage(textContent, 400, 400, BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher));
imageView.setImageBitmap(mBitmap);
}
});
生成不带logo的二维码图片
/**

  • 生成不带logo的二维码图片
    */
    button1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

     String textContent = editText.getText().toString();
     if (TextUtils.isEmpty(textContent)) {
     Toast.makeText(ThreeActivity.this, "您的输入为空!", Toast.LENGTH_SHORT).show();
     return;
     }
     editText.setText("");
     mBitmap = CodeUtils.createImage(textContent, 400, 400, null);
     imageView.setImageBitmap(mBitmap);
     }
     });
    

支持控制闪光灯
/**

  • 打开闪光灯
    */
    CodeUtils.isLightEnable(true);

/**

  • 关闭闪光灯
    */
    CodeUtils.isLightEnable(false);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值