美文网首页
Zxing简单集成

Zxing简单集成

作者: 取了个很好听的名字 | 来源:发表于2019-05-30 17:06 被阅读0次

    集成前准备

    首先在Github上下载google的zxing源代码
    [zxing项目下载地址](https://github.com/zxing/zxing
    下载下来的项目目录如下所示,我们只需要红方框中的目录文件

    zxing项目.png
    如何还需要下载zxing的jar包,zxing的jar包需要自己下载。

    创建项目并将android作为module导入项目中

    导入module.png
    选择android.png

    不要忘记将下载的jar包作为library导入module中。


    导入jar包.png
    更改android中build.gradle的apply plugin: 'com.android.application'改为apply plugin: 'com.android.library' 修改build.gradle.png

    然后删除defaultConfig的appId

     defaultConfig {
            applicationId "com.google.zxing.client.android"
        }
    

    将android module 的 minSdkVersion 改成与主工程一致。
    同步一下。
    删除AndroidManifest中CaptureActivity的如下内容

     <intent-filter>
            <action android:name="android.intent.action.MAIN"/>
            <category android:name="android.intent.category.LAUNCHER"/>
          </intent-filter>
    

    不要忘记application中的label,logo和icon和也删掉


    删除相关元素.png

    将android-core里的util工具类放进android module中


    工具类.png

    在android moudle 的res中有很多的国际化需要的values文件,只需要保留values-zh-rCN即可。
    让主程序依赖android moudle


    依赖androidmodule.png

    如过报红的话该导包的导包(工具类,R文件),switch 语句改为if else

    如果你的SDK升到28的话会出现如下错误:


    api28错误.png

    删除new ArrayList()。
    主App中添加如下权限

      <uses-permission android:name="android.permission.CAMERA"/>
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.VIBRATE"/>
      <uses-permission android:name="android.permission.FLASHLIGHT"/>
      <uses-permission android:name="android.permission.READ_CONTACTS"/>
    

    集成测试

    在申请相关权限后(可以先在手机权限管理中获取全部权限),在MainActivity中打开CaptureActivity后看到如下的界面说明本次集成成功。

        Intent intent=new Intent(this, CaptureActivity.class);
        startActivityForResult(intent,0);
    
    d735eec153d29b0fb180487b069050a.jpg

    相关文章

      网友评论

          本文标题:Zxing简单集成

          本文链接:https://www.haomeiwen.com/subject/zuevtctx.html