Android二维码生成与扫描
2016-05-03 10:18
375 查看
第三方库导入
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中了,是不是很简单!
转载:http://www.codeceo.com/article/android-qr-code-generate.html
Android学习交流群:523487222
(欢迎加入,一起学习进步)
点击链接加入群【Android学习群】
相关文章推荐
- Android ----可伸缩的控件
- AndroidStudio插件GsonFormat快速实现JavaBean
- 简单的Android RecyclerView 使用小Demo
- android的消息处理机制(图+源码分析)——Looper,Handler,Message
- Android开发中,那些让你相见恨晚的方法、类或接口
- Android Studio 关联Android源码
- 04Android Studio常见错误解决(本文不定时更新)
- Android常用第三方支付
- Android development tools line_endings hacking
- RxAndroid简单入门。
- Service概要
- 【项目源码】- 【局域网聊天】android实现局域网聊天 - UDP实现
- 关于android增添第三方字体的方法
- 10个你可能不知道的 Android Studio技巧
- android开发中的常见错误
- Android Xutils 框架
- 实现Android通知栏进度条效果
- Android Service相关知识
- Android性能优化典范(二)
- Android性能优化典范(一)