要实现扫一扫功能首先要在AndroidManifest.xml中加入一些权限

                             

其次在

**例如:**  android:name=".MyApplication"

在build.gradle文件中加入一些权限

apply plugin: 'com.android.application'android {    compileSdkVersion 27    defaultConfig {        applicationId "com.example.ewm"        minSdkVersion 15        targetSdkVersion 27        versionCode 1        versionName "1.0"        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'        }    }    //主要加入这段代码以及下面的两个权限    **configurations.all {        resolutionStrategy.eachDependency { DependencyResolveDetails details ->            def requested = details.requested            if (requested.group == 'com.android.support') {                if (!requested.name.startsWith('multidex')) {                    details.useVersion '27.1.1' //这里改为你项目使用的版本即可                }            }        }    }**}dependencies {    implementation fileTree(dir: 'libs', include: ['*.jar'])    implementation 'com.android.support:appcompat-v7:27.1.1'    implementation 'com.android.support.constraint:constraint-layout:1.1.3'    **implementation 'com.android.support:design:27.1.1'//加入两个依赖    compile 'cn.yipianfengye.android:zxing-library:1.9'**    testImplementation 'junit:junit:4.12'    androidTestImplementation 'com.android.support.test:runner:1.0.2'    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'}

首先在布局中创建一个按钮,为点击扫描二维码的按钮

在主Actvity中实现其功能

package com.example.ewm;import android.app.Activity;import android.content.Intent;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.text.TextUtils;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.Toast;import com.uuzuche.lib_zxing.activity.CaptureActivity;import com.uuzuche.lib_zxing.activity.CodeUtils;public class MainActivity extends Activity {    private Button btns;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //找控件        btns = findViewById(R.id.btns);            //扫描二维码功能        btns.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {                            Intent intent = new Intent(MainActivity.this,CaptureActivity.class);                startActivityForResult(intent,1);            }        });    }    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        super.onActivityResult(requestCode, resultCode, data);        /**         * 处理二维码的扫描结果         */        if (requestCode == 1){            //处理扫描结果(在界面上显示)            if (data != null){                Bundle bundle = data.getExtras();                if (bundle == null){                    return;                }                if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_SUCCESS){                    String result = bundle.getString(CodeUtils.RESULT_STRING);                    Toast.makeText(this,"解析结果"+result,Toast.LENGTH_LONG).show();                }else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED){                    Toast.makeText(this,"解析二维码失败",Toast.LENGTH_LONG).show();                }            }        }    }}

//不要忘记还需要一个工具类

package com.example.ewm;import android.app.Application;import com.uuzuche.lib_zxing.activity.ZXingLibrary;public class MyApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        ZXingLibrary.initDisplayOpinion(this);    }}

更多相关文章

  1. Android应用程序获取ROOT权限的方法 (基础篇)
  2. Android 关闭(删除)FM Transmitter功能的方法
  3. Android 通过Intent调用系统功能和Action动作和服务广播【大全】
  4. android二维码xzing使用
  5. 程序中如何获取Android的Root权限
  6. Android的权限分类

随机推荐

  1. 【招聘】腾讯CDC招前端
  2. Android(安卓)studio导入Github的项目
  3. 分布式消息队列 RocketMQ 源码分析 ——
  4. 免费且支持远程连接的MySql空间
  5. 专访|腾讯UI工程师@张鑫旭
  6. Android(安卓)SQLite详解
  7. git命令备忘系列(一):基础命令
  8. 专访|前端布道师@张克军
  9. http协议请求方法都有哪些?网络安全学习提
  10. 【第554期】Webpack 一探究竟