1. 程式人生 > >二維碼掃描框架zxing的使用

二維碼掃描框架zxing的使用

目前二維碼掃描功能在app上已經非常成熟了,google的zxing專案也是目前可以說是最流行的二維碼掃描框架。但是它本身功能太多,這裡我提取出一些基本的掃碼功能,重新封裝成庫。
github:https://github.com/Sun-Shuai/zxing-demo

使用方法:

    compile 'com.sunshuai:android-zxing:1.0.0'

新建一個ZxingActivity繼承CaptureActivity,自定義掃碼介面。handleDecode方法是掃描後的回撥方法,重寫它來自定義掃描後的操作,比如像下面我這麼寫的,是掃描後返回二維碼文字內容

public class ZxingActivity extends CaptureActivity {

    @Override
    public void handleDecode(Result rawResult, Bitmap barcode, float scaleFactor) {
        Intent intent = new Intent();
        intent.putExtra(IntentConstant.EXTRANAME_QR_CODE_TEXT, rawResult.getText());
        this.setResult(IntentConstant.REQUESTCODE_SCAN_QR_CODE, intent);
        finish();
    }
}

在需要掃碼的地方新增如下程式碼:

     Intent intent = new Intent(this, ZxingActivity.class);
     startActivityForResult(intent,IntentConstant.REQUESTCODE_SCAN_QR_CODE);


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

   @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        switch (requestCode) {
            case IntentConstant.REQUESTCODE_SCAN_QR_CODE:
                ToastUtils.showShort(this, data.getStringExtra(IntentConstant.EXTRANAME_QR_CODE_TEXT));
                break;
        }
    }

如果需要其他的功能,請參考https://github.com/zxing/zxing