• android开发(17) 扫描二维码 调用第三方APK来实现二维码扫描,参考自 开源项目zxing


    二维码的应用是越来越广呢。我们会收到在手机上扫描二维码的需求,那么,我们尝试使用一种方法实现。

    前置: 

    需要第三方APK。名称是 “条码扫描器” ,该APK在 google play 和豌豆荚市场都能够下载到。

    过程:

    1,开始扫描二维码

    IntentIntegrator integrator = new IntentIntegrator(MainActivity.this);//指定当前的activity

    integrator.initiateScan(IntentIntegrator.QR_CODE_TYPES); //启动扫描

    2,注册扫描完成后的处理(回调)

     public void onActivityResult(int requestCode, int resultCode, Intent intent) {

    IntentResult result = IntentIntegrator.parseActivityResult(requestCode,
    resultCode, intent);
    if (result != null) {
    String contents = result.getContents();
    if (contents != null) {
    showDialog(R.string.result_succeeded, result.toString());
    } else {
    showDialog(R.string.result_failed,
    getString(R.string.result_failed_why));
    }
    }
    }

    3,完成。。。

    那么我们需要上面提到的类 IntentIntegrator  ,从哪里来的? 我是从 google开源的项目zxing里代码里找到的。并提取了一些代码来使用。我会在本文的末尾提供代码下载,可以从代码里获得这个类。

    ---------------------- 

    扩展阅读

    恩。那么 IntentIntegrator  这个类里到底干了什么?

    通过阅读代码,我们知道它做了两件事:

    1.查找目标APK 里 “是否有扫描二维码的程序”。如果不存在,那么提示,并使得指示用户 去市场下载。

    2.如果存在,发送intent。发送了,那么会有 相应的Activity来处理它,在activty关闭后 封装对应的返回参数。

     建议大家去读读zxing的代码。

     http://code.google.com/p/zxing/

    提供代码下载 

  • 相关阅读:
    jvm gc 线程
    高分辨率图像建筑物提取数据集制作
    Ubuntu 更改软件源
    后台程序员简单应用前端的bootstrap(小白)
    php--常见算法3
    php--常见算法2
    php--常见算法1
    php三种排序算法
    Django学习之十二:Cache 缓存组件
    Restframe_work 回顾记忆集
  • 原文地址:https://www.cnblogs.com/vir56k/p/2792734.html
Copyright © 2020-2023  润新知