Android二维码生成与扫描
- 作者: 我想静静啊啊
- 来源: 51数据库
- 2020-08-14
第三方库导入
Zxing3.1第三方库下载链接
直接import module,将上面的第三方库导入。
在导入后如果用到的icon或者字符串资源名称一样,可能会报错,解决方法(以label名重复为例):
1.在Manifest标签下添加 xmlns:tools=”http://schemas.android.com/tools”
2.在Application标签下添加:?tools:replace=”android:label”

扫描二维码
直接调用代码,进入二维码扫描的界面。
private void startForQrScan() {
startActivityForResult(new Intent(xxx.this, CaptureActivity.class), 0);
}
扫描的结果在onActivityResult返回。
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK){
Bundle bundle = data.getExtras();
String result = bundle.getString("result");
L.d("result: " + result);
}
}
生成二维码
调用下面代码生成二维码图片,同时设置二维码中间的logo图标
private void generateQr(String data) {
int width = Tools.dip2px(this, 300);
Bitmap bitmap = EncodingUtils.createQRCode(data, width, width,
BitmapFactory.decodeResource(getResources(), R.drawable.qr_logo));
img_qr.setImageBitmap(bitmap);
}
为了提高扫描的效果,可以将屏幕亮度设置到最亮
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.screenBrightness = 1.0f;
getWindow().setAttributes(lp);
自定义扫描布局
直接调用上面扫描的代码,界面布局是固定的,如果想自定义布局,例如在扫描框下显示文字或者其他输入框之类的,可以将以下几个文件拷出,简单修改下,即可自己定义布局并增加其他功能。
CaptureActivityHandler
DecodeHandler
DecodeThread
CaptureActivity
至此,二维码扫描及生成功能就集成到我们的APP中了,是不是很简单!
推荐阅读
热点文章
android中Bitmap用法(显示,保存,缩放,旋转)实例分析
12
android 仿微信聊天气泡效果实现思路
1
Android的尺度,drawable-xxxxxxx
2
Codeforces Round #656 (Div. 3) (C、D题)
1
Android之handler异步消息处理机制解析
6
GridView中图片显示出现上下间距过大,左右图片显示类似瀑布流的问题
0
AsyncTask的简单使用
5
两个简单Fragment之间的通信(三种方式)
18
uboot修改设置boot参数命令
41
android中实现从相册中一次性获取多张图片与拍照,并将选中的图片显示出来
2
