Android二維碼掃描
来源:互联网 发布:域名注册使用godaddy 编辑:程序博客网 时间:2024/06/06 08:25
总是站在牛人的肩膀上在~~
直接上代码了
添加Gradle依赖:(其实都是人家的。。。)
compile 'com.google.zxing:core:3.1.0'
compile 'cn.bingoogolapple:bga-qrcodecore:1.1.3@aar'
compile 'cn.bingoogolapple:bga-zbar:1.1.3@aar'
布局文件:
<cn.bingoogolapple.qrcode.zbar.ZBarView
android:id="@+id/zbarview"
android:layout_height="match_parent"
android:layout_width="match_parent"
app:qrcv_animTime="1000"
app:qrcv_barCodeTipText="將條碼放入框內即可自動掃描"
app:qrcv_barcodeRectHeight="140dp"
app:qrcv_borderColor="@android:color/white"
app:qrcv_borderSize="1dp"
app:qrcv_cornerColor="@color/colorPrimaryDark"
app:qrcv_cornerLength="20dp"
app:qrcv_cornerSize="3dp"
app:qrcv_customGridScanLineDrawable="@mipmap/custom_grid_scan_line"
app:qrcv_isBarcode="false"
app:qrcv_isOnlyDecodeScanBoxArea="true"
app:qrcv_isShowDefaultGridScanLineDrawable="true"
app:qrcv_isShowDefaultScanLineDrawable="true"
app:qrcv_isShowTipBackground="true"
app:qrcv_isShowTipTextAsSingleLine="false"
app:qrcv_isTipTextBelowRect="false"
app:qrcv_maskColor="#33FFFFFF"
app:qrcv_qrCodeTipText="將二維碼/條碼放入框內,即可自動掃描"
app:qrcv_rectWidth="200dp"
app:qrcv_scanLineColor="@color/colorPrimaryDark"
app:qrcv_toolbarHeight="56dp"
app:qrcv_topOffset="90dp" />
Activity:
mQRCodeView.setDelegate(this);
mQRCodeView.startCamera();
mQRCodeView.startSpot();
接口的实现,并开始扫描
@Override
public void onScanQRCodeSuccess(String result) {
Log.i(TAG, "result:" + result);
Toast.makeText(this, result, Toast.LENGTH_SHORT).show();
vibrate();//震动
mQRCodeView.startSpot();
}
@Override
public void onScanQRCodeOpenCameraError() {
Log.e(TAG, "打开相机出错");
}
private void vibrate() {
Vibrator vibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);
vibrator.vibrate(400);
}
然后就是记得停止扫描就好啦:
@Override
protected void onStop() {
mQRCodeView.stopCamera();
super.onStop();
}
@Override
protected void onDestroy() {
mQRCodeView.onDestroy();
super.onDestroy();
}
最后记得添加权限:
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.INTERNET" />
- Android二維碼掃描
- Android
- android
- Android
- android
- android
- Android
- Android
- android
- android
- android
- Android
- Android
- android!!!
- android
- android
- android
- android
- HOG 学习
- 自定义Editext控制输入字数限制的文本框Editext
- boosting和adaboost区别
- jQuery笔记--动画篇
- 设计模式六大原则 - (4):接口隔离原则
- Android二維碼掃描
- spring mvc 通过bean获取form的参数和并且进行服务器验证 ,而且支持多个文件上传的用法。html使用form_data
- Struts2为什么无法找到action啊?eclipse和myeclipse不一样吗?
- zabbix trigger表达式
- 对数组的键名进行排序
- Android Listview 性能优化
- Fuel 9.0安装的Openstack Controller节点进程整理
- C++字符串格式化
- 第六天 一个小程序和数组介绍