Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android資訊 >> Android二維碼生成與掃描

Android二維碼生成與掃描

編輯:Android資訊

本文由碼農網 – 蘇耀東原創,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!

第三方庫導入

Zxing3.1第三方庫下載鏈接

直接import module,將上面的第三方庫導入。

在導入後如果用到的icon或者字符串資源名稱一樣,可能會報錯,解決方法(以label名重復為例):

1.在Manifest標簽下添加 xmlns:tools=”http://schemas.android.com/tools”

2.在Application標簽下添加: tools:replace=”android:label”

掃描二維碼

直接調用代碼,進入二維碼掃描的界面。

private void startForQrScan() {
        startActivityForResult(new Intent(xxx.this, CaptureActivity.class), 0);
}

掃描的結果在onActivityResult返回。

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == RESULT_OK){
            Bundle bundle = data.getExtras();
            String result = bundle.getString("result");
            L.d("result: " + result);
        }
    }

生成二維碼

調用下面代碼生成二維碼圖片,同時設置二維碼中間的logo圖標

private void generateQr(String data) {
        int width = Tools.dip2px(this, 300);
        Bitmap bitmap = EncodingUtils.createQRCode(data, width, width, 
BitmapFactory.decodeResource(getResources(), R.drawable.qr_logo));
        img_qr.setImageBitmap(bitmap);
    }

為了提高掃描的效果,可以將屏幕亮度設置到最亮

WindowManager.LayoutParams lp = getWindow().getAttributes();
        lp.screenBrightness = 1.0f;
        getWindow().setAttributes(lp);

自定義掃描布局

直接調用上面掃描的代碼,界面布局是固定的,如果想自定義布局,例如在掃描框下顯示文字或者其他輸入框之類的,可以將以下幾個文件拷出,簡單修改下,即可自己定義布局並增加其他功能。

CaptureActivityHandler
DecodeHandler
DecodeThread
CaptureActivity

至此,二維碼掃描及生成功能就集成到我們的APP中了,是不是很簡單!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved