版权声明:转载请注明本文链接 https://blog.csdn.net/qq_31844349/article/details/81347413
最近在做一个项目,是在Fragment中使用zxing的二维码扫描功能,在我以前写的二维码扫描功能的教程只适合在activity中使用地址:https://blog.csdn.net/qq_31844349/article/details/81301911
没有办法因为工作需要,必须在Fragment中使用二维码扫描功能,查找资料,最后在一个大神的博客中找到了如何在Fragment中使用二维码扫描功能,
这是需要导入Embedded:
compile 'com.google.zxing:core:3.3.0'
compile 'com.journeyapps:zxing-android-embedded:3.5.0'
扫描二维码代码:
new IntentIntegrator(getActivity())
// 扫码的类型,条形码或者二维码
.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES)
//这个参数可以设置也可以不设置,设置后使用自定义的二维码扫描框,不设置使用默认的
.setCaptureActivity(CapEr.class)
// 设置提示语
.setPrompt("将二维码放到框内")
//设置使用那个摄像头
.setCameraId(0)
//是否在扫描完成后有提示音
.setBeepEnabled(true)
//扫完码之后生成二维码的图片
.setBarcodeImageEnabled(true)
//初始化扫描
.initiateScan();
扫描完成后的结果也是和上次教程一样在onActivityResult中回调
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
//处理结果
}