ptureOutput:(AVCaptureOutput *)captureOutput didOutputMetadataObjects:(NSArray *)metadataObjects fromConnection:(AVCaptureConnection *)connection {

if (metadataObjects.count > 0) {

AVMetadataMachineReadableCodeObject *metadataObject = metadataObjects.firstObject;

APP開發

// 獲取掃描到的字符串內容

NSString *stringValue = metadataObject.stringValue;

// 調用代理,將掃描結果傳給調用者

if ([self.delegate respondsToSelector:@selector(scanResult:)]) {

[self.delegate scanResult:stringValue];

}

}

}

“`

2、Android實現方法

對于Android開發者,也可以利用系統自帶的相機接口實現二維碼的掃描功能。首先需要在gradle配置中添加zxing庫依賴,如下:

“`

compile ‘com.google.zxing:core:3.2.1’

compile ‘com.journeyapps:zxing-android-embedded:3.6.0’

“`

然后創建一個CaptureManager對象來管理相機、預覽和解碼器等對象,之后就可以實現二維碼的掃描功能了。代碼如下:

“`

// 創建 CaptureManager 對象

mCaptureManager = new CaptureManager(getActivity(), mBarcodeView);

mCaptureManager.initializeFromIntent(getActivity().getIntent(), savedInstanceState);

mCaptureManager.decode();

“`

值得注意的是,zxing庫提供了默認的掃描UI界面,如果不需要使用自定義的掃描界面,可以直接使用默認模板。

三、總結

本文介紹了二維碼掃描的原理及實現方法,在實現時我們可以根據具體的需求來選擇適合的實現方式,這樣可以在開發中提高效率,并提供更好的使用體驗。

未經允許不得轉載:亦門 » app開發二維碼掃描怎么實現?

相關推薦