国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Android > 正文

Android利用ZXing掃描二維碼的實(shí)例代碼解析

2019-12-12 04:22:22
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

相關(guān)閱讀:

Android開發(fā)框架之自定義ZXing二維碼掃描界面并解決取景框拉伸問題

此項(xiàng)目源碼地址:請(qǐng)點(diǎn)擊這里

這里寫圖片描述

看一下zxing的項(xiàng)目結(jié)構(gòu),我這里直接拿過來(lái)用的

這里寫圖片描述 

看一下掃碼的activity:

package com.fanyafeng.barcode.activity;import android.content.Intent;import android.graphics.Bitmap;import android.net.Uri;import android.os.Bundle;import android.support.design.widget.FloatingActionButton;import android.support.design.widget.Snackbar;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.View;import android.widget.TextView;import android.widget.Toast;import com.fanyafeng.barcode.R;import com.fanyafeng.barcode.BaseActivity;import com.fanyafeng.barcode.util.ImageUtil;import com.fanyafeng.barcode.zxing.activity.CaptureActivity;import com.fanyafeng.barcode.zxing.activity.CodeUtils;//需要搭配baseactivity,這里默認(rèn)為baseactivity,并且默認(rèn)Baseactivity為包名的根目錄public class ScanCodeActivity extends BaseActivity {  /**   * 掃描跳轉(zhuǎn)Activity RequestCode   */  public static final int REQUEST_CODE = 111;  /**   * 選擇系統(tǒng)圖片Request Code   */  public static final int REQUEST_IMAGE = 112;  /**   * 請(qǐng)求CAMERA權(quán)限碼   */  public static final int REQUEST_CAMERA_PERM = 101;  private TextView tvResult;  @Override  protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_scan_code);//這里默認(rèn)使用的是toolbar的左上角標(biāo)題,如果需要使用的標(biāo)題為中心的采用下方注釋的代碼,將此注釋掉即可    title = getString(R.string.title_activity_scan_code);    initView();    initData();  }  //初始化UI空間  private void initView() {    tvResult = (TextView) findViewById(R.id.tvResult);  }  //初始化數(shù)據(jù)  private void initData() {  }  @Override  public void onClick(View v) {    super.onClick(v);    switch (v.getId()) {      case R.id.btnScan:        Intent intent = new Intent(getApplication(), CaptureActivity.class);        startActivityForResult(intent, REQUEST_CODE);//        本地掃描,識(shí)別相冊(cè)中的二維碼//        Intent intent = new Intent(Intent.ACTION_GET_CONTENT);//        intent.addCategory(Intent.CATEGORY_OPENABLE);//        intent.setType("image/*");//        startActivityForResult(intent, REQUEST_IMAGE);        break;    }  }  @Override  protected void onActivityResult(final int requestCode, int resultCode, Intent data) {    super.onActivityResult(requestCode, resultCode, data);    /**     * 處理二維碼掃描結(jié)果     */    if (requestCode == REQUEST_CODE) {      //處理掃描結(jié)果(在界面上顯示)      if (null != data) {        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, "解析結(jié)果:" + result, Toast.LENGTH_LONG).show();          tvResult.setText(result);        } else if (bundle.getInt(CodeUtils.RESULT_TYPE) == CodeUtils.RESULT_FAILED) {          Toast.makeText(ScanCodeActivity.this, "解析二維碼失敗", Toast.LENGTH_LONG).show();        }      }    }    /**     * 選擇系統(tǒng)圖片并解析     */    else if (requestCode == REQUEST_IMAGE) {      if (data != null) {        Uri uri = data.getData();        try {          CodeUtils.analyzeBitmap(ImageUtil.getImageAbsolutePath(this, uri), new CodeUtils.AnalyzeCallback() {            @Override            public void onAnalyzeSuccess(Bitmap mBitmap, String result) {              Toast.makeText(ScanCodeActivity.this, "解析結(jié)果:" + result, Toast.LENGTH_LONG).show();              tvResult.setText(result);            }            @Override            public void onAnalyzeFailed() {              Toast.makeText(ScanCodeActivity.this, "解析二維碼失敗", Toast.LENGTH_LONG).show();            }          });        } catch (Exception e) {          e.printStackTrace();        }      }    } else if (requestCode == REQUEST_CAMERA_PERM) {      Toast.makeText(this, "從設(shè)置頁(yè)面返回...", Toast.LENGTH_SHORT).show();    }  }}

注釋中有本地二維碼的識(shí)別

以上所述是小編給大家介紹的Android利用ZXing掃描二維碼的實(shí)例代碼解析,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 涿鹿县| 即墨市| 贵溪市| 临夏市| 阿巴嘎旗| 南川市| 秦皇岛市| 南华县| 长泰县| 南宁市| 瑞金市| 仙居县| 霞浦县| 富锦市| 尖扎县| 外汇| 皋兰县| 澎湖县| 同心县| 寿宁县| 翼城县| 平武县| 枣阳市| 宜兰市| 汉寿县| 富民县| 乌鲁木齐市| 铜鼓县| 浠水县| 厦门市| 萝北县| 咸阳市| 巧家县| 闽侯县| 武宣县| 榆树市| 江永县| 道孚县| 香河县| 寿阳县| 桐庐县|