我是靠谱客的博主 紧张奇异果,最近开发中收集的这篇文章主要介绍android使用ZXing实现二维码扫描功能,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

二维码现在在我们生活中基本上每天都会用到,所以现阶段开发的App很多都使用到了二维码扫描功能。说起二维码扫描基本上大家都是用的ZXing谷歌官方提供的库。

以下我就讲讲在项目中如何介入二维码扫描识别功能:

1.在项目的build.gradle中加入依赖库:

compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar'//二维码扫描
compile 'com.google.zxing:core:3.2.1'

2.还是在项目的build.gradle中加入这行加在最外层

repositories {
    jcenter()
}

3.在你需要调用扫描二维码的地方加入:

IntentIntegrator integrator = new IntentIntegrator(this);
        integrator.setPrompt("请对准二维码"); //底部的提示文字
        integrator.initiateScan();

注:此处的this是activity对象。如果是在fragment中调用的话就用getActivity()方法获取到宿主Activity对象传过去。

4.在Activity中重写onActivityResult()方法,相信这个方法大家都不会陌生吧!!!

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
    IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, intent);
    if(result != null) {
        if(result.getContents() == null) {
            Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
        } else {
            Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
        }
    }
}

此处就是扫描二维码后返回的信息result。

做完以上步骤,你就会发现that,什么鬼,为什么是横屏的,我想要的是竖屏的。
如果想要竖屏的就得加以下几个步骤:

1.在调用扫描二维码的时候加上

integrator.setOrientationLocked(false);

在调用initiateScan()方法之前

IntentIntegrator integrator = new IntentIntegrator(this);
        integrator.setPrompt("请对准二维码"); //底部的提示文字,设为""可以置空
        integrator.setOrientationLocked(false);
        integrator.initiateScan();

2.在清单文件中加入:

<activity
            android:name="com.journeyapps.barcodescanner.CaptureActivity"
            android:screenOrientation="fullSensor"
            tools:replace="screenOrientation" />

3.在清单文件的跟节点上加上:

xmlns:tools="http://schemas.android.com/tools"

以上就完成了二维码扫描的功能。

最后

以上就是紧张奇异果为你收集整理的android使用ZXing实现二维码扫描功能的全部内容,希望文章能够帮你解决android使用ZXing实现二维码扫描功能所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(69)

评论列表共有 0 条评论

立即
投稿
返回
顶部