@capacitor/barcode-scanner
使用 Outsystems 条码库的 Capacitor 插件
安装
npm install @capacitor/barcode-scanner
npx cap sync
Android
条码扫描插件要求最低 Android SDK 目标版本为 26,这高于 Capacitor 应用的默认值。您可以在 android/variables.gradle 文件中更新此值。
ext {
minSdkVersion = 26
}
注意:搭载ZXING扫描库的安卓系统支持所有格式,而MLKIT支持除MAXICODE、RSS_14、RSS_EXPANDED和UPC_EAN_EXTENSION之外的所有格式——在hint中使用这些格式之一将默认扫描任何格式。
iOS
条码扫描器使用设备上的摄像头。请确保在 Info.plist 文件中配置了 Privacy - Camera Usage Description,以便您的应用可以访问设备的摄像头。
注意:iOS支持所有格式,除了MAXICODE和UPC_EAN_EXTENSION——在hint中使用这两种格式会默认扫描任何格式。此外,Apple Vision无法区分UPC_A和EAN_13,因此在hint中指定其中一种格式将允许扫描这两种格式。
API
定义条码扫描插件合约的接口。 要求实现 scanBarcode 方法,该方法使用给定选项启动条码扫描。
从 Android targetSdk 36 开始,对于搭载 Android 16 及更高版本的大屏幕设备(例如平板电脑),scanOrientation 参数将不起作用。
您可以在应用中通过在 AndroidManifest.xml 的 <application> 或 <activity> 内部添加 <property android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY" android:value="true" /> 来选择退出此行为。
但请记住,这种退出方式是暂时的,在 Android 17 上将不再生效。Android 不建议为大屏幕设备设置特定的方向。
普通的 Android 手机不受此变更的影响。
有关更多信息,请查看 Android 文档:https://developer.android.com/about/versions/16/behavior-changes-16#adaptive-layouts
scanBarcode(...)
scanBarcode(options: CapacitorBarcodeScannerOptions) => Promise<CapacitorBarcodeScannerScanResult>
| 参数 | 类型 |
|---|---|
options | |
返回值:
Promise<CapacitorBarcodeScannerScanResult>
Type Aliases
CapacitorBarcodeScannerScanResult
定义从条码扫描返回的结果结构。
{ ScanResult: string; format: CapacitorBarcodeScannerTypeHint; }
CapacitorBarcodeScannerTypeHint
从 Html5Qrcode 扩展支持的格式,并添加特殊的 'ALL' 选项, 表示支持所有条码类型。 结合 Html5QrcodeSupportedFormats 和 OSBarcodeTypeHintALLOption 的类型定义,用于表示要扫描的条码类型的提示。
Html5QrcodeSupportedFormats |{' '}
CapacitorBarcodeScannerTypeHintALLOption
CapacitorBarcodeScannerOptions
定义配置条码扫描的选项。
{ hint: CapacitorBarcodeScannerTypeHint; scanInstructions?: string; scanButton?: boolean; scanText?: string; cameraDirection?: CapacitorBarcodeScannerCameraDirection; scanOrientation?: CapacitorBarcodeScannerScanOrientation; android?: { scanningLibrary?: CapacitorBarcodeScannerAndroidScanningLibrary; }; web?: { showCameraSelection?: boolean; scannerFPS?: number; }; }
Enums
Html5QrcodeSupportedFormats
| 成员 | 值 |
|---|---|
QR_CODE | 0 |
AZTEC | 1 |
CODABAR | 2 |
CODE_39 | 3 |
CODE_93 | 4 |
CODE_128 | 5 |
DATA_MATRIX | 6 |
MAXICODE | 7 |
ITF | 8 |
EAN_13 | 9 |
EAN_8 | 10 |
PDF_417 | 11 |
RSS_14 | 12 |
RSS_EXPANDED | 13 |
UPC_A | 14 |
UPC_E | 15 |
UPC_EAN_EXTENSION | 16 |
CapacitorBarcodeScannerTypeHintALLOption
| 成员 | 值 |
|---|---|
ALL | 17 |
CapacitorBarcodeScannerCameraDirection
| 成员 | 值 |
|---|---|
BACK | 1 |
FRONT | 2 |
CapacitorBarcodeScannerScanOrientation
| 成员 | 值 |
|---|---|
PORTRAIT | 1 |
LANDSCAPE | 2 |
ADAPTIVE | 3 |