@ohos.scan (扫描)(系统接口)
该模块为扫描框架的js-api接口文档,提供发现和连接扫描仪的能力。
说明:
本模块首批接口从API version 20开始支持。 当前界面仅包含本模块的系统接口,其他公开接口参见@ohos.scan (扫描)。
导入模块
import { scan } from '@kit.BasicServicesKit';
scan.addScanner
addScanner(uniqueId: string, discoveryMode: ScannerDiscoveryMode): Promise<void>
添加扫描仪(系统API)。使用Promise异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| uniqueId | string | 是 | 扫描仪的唯一ID。 |
| discoveryMode | ScannerDiscoveryMode | 是 | 发现模式。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,无返回结果。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uniqueId: string = 'unique_scanner_001';
let discoveryMode: scan.ScannerDiscoveryMode = scan.ScannerDiscoveryMode.TCP_STR;
scan.addScanner(uniqueId, discoveryMode).then(() => {
console.info('add scanner success');
}).catch((error: BusinessError) => {
console.error('add scanner failed: ' + JSON.stringify(error));
})
scan.deleteScanner
deleteScanner(uniqueId: string, discoveryMode: ScannerDiscoveryMode): Promise<void>
删除扫描仪(系统API)。使用Promise异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| uniqueId | string | 是 | 扫描仪的唯一ID。 |
| discoveryMode | ScannerDiscoveryMode | 是 | 发现模式。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,无返回结果。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
import { BusinessError } from '@kit.BasicServicesKit';
let uniqueId: string = 'unique_scanner_001';
let discoveryMode: scan.ScannerDiscoveryMode = scan.ScannerDiscoveryMode.TCP_STR;
scan.deleteScanner(uniqueId, discoveryMode).then(() => {
console.info('delete scanner success');
}).catch((error: BusinessError) => {
console.error('delete scanner failed: ' + JSON.stringify(error));
})
scan.getAddedScanners
getAddedScanners(): Promise<ScannerDevice[]>
获取已添加的扫描仪(系统API)。使用Promise异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
返回值:
| 类型 | 说明 |
|---|---|
| Promise<ScannerDevice[]> | Promise对象,返回已添加的扫描仪设备数组。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
import { BusinessError } from '@kit.BasicServicesKit';
scan.getAddedScanners().then((scanners: scan.ScannerDevice[]) => {
console.info('get added scanners success: ' + JSON.stringify(scanners));
}).catch((error: BusinessError) => {
console.error('get added scanners failed: ' + JSON.stringify(error));
})
scan.on
on(type: 'scanDeviceAdd', callback: Callback<ScannerDevice>): void
注册扫描仪设备添加事件回调(系统API)。使用callback异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | 'scanDeviceAdd' | 是 | 事件类型。 |
| callback | Callback<ScannerDevice> | 是 | 回调函数,返回扫描仪设备添加信息。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
scan.on('scanDeviceAdd', (device: scan.ScannerDevice) => {
console.info('scan device add: ' + JSON.stringify(device));
})
scan.off
off(type: 'scanDeviceAdd', callback?: Callback<ScannerDevice>): void
取消注册扫描仪设备添加事件回调(系统API)。使用callback异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | 'scanDeviceAdd' | 是 | 事件类型。 |
| callback | Callback<ScannerDevice> | 是 | 回调函数,返回扫描仪设备添加信息。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
let callback = (device: scan.ScannerDevice) => {
console.info('scan device add: ' + JSON.stringify(device));
};
scan.on('scanDeviceAdd', callback);
// 取消注册
scan.off('scanDeviceAdd', callback);
scan.on
on(type: 'scanDeviceDel', callback: Callback<ScannerDevice>): void
注册扫描仪设备删除事件回调(系统API)。使用callback异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | 'scanDeviceDel' | 是 | 事件类型。 |
| callback | Callback<ScannerDevice> | 是 | 回调函数,返回扫描仪设备删除信息。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
scan.on('scanDeviceDel', (device: scan.ScannerDevice) => {
console.info('scan device delete: ' + JSON.stringify(device));
})
scan.off
off(type: 'scanDeviceDel', callback?: Callback<ScannerDevice>): void
取消注册扫描仪设备删除事件回调(系统API)。使用callback异步回调。
需要权限: ohos.permission.MANAGE_PRINT_JOB
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Print.PrintFramework
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | 'scanDeviceDel' | 是 | 事件类型。 |
| callback | Callback<ScannerDevice> | 否 | 回调函数,返回扫描仪设备删除信息。 |
错误码:
| 错误码ID | 错误信息 |
|---|---|
| 201 | Permission denied. |
| 202 | Not system application. |
示例:
import { scan } from '@kit.BasicServicesKit';
let callback = (device: scan.ScannerDevice) => {
console.info('scan device delete: ' + JSON.stringify(device));
};
scan.on('scanDeviceDel', callback);
// 取消注册
scan.off('scanDeviceDel', callback);