harmony 鸿蒙@ohos.cooperate (键鼠穿越)
@ohos.cooperate (键鼠穿越)
键鼠穿越功能模块,提供两台或多台设备组网协同后键鼠共享能力,实现键鼠输入设备的跨设备协同操作。
说明
本模块首批接口从API version 10开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口均为系统接口。
导入模块
import cooperate from '@ohos.cooperate'
cooperate.prepare
prepare(callback: AsyncCallback<void>): void;
准备键鼠穿越,使用Callback异步回调。
系统能力: SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调函数,准备键鼠穿越成功时,err为undefined,否则为错误对象。 |
示例:
import { BusinessError } from '@ohos.base';
try {
cooperate.prepare((error: BusinessError) => {
if (error) {
console.log(`Keyboard mouse crossing prepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Keyboard mouse crossing prepare success.`);
});
} catch (error) {
console.log(`Keyboard mouse crossing prepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.prepare
prepare(): Promise<void>
准备键鼠穿越,使用Promise异步方式返回结果。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
返回值:
参数 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
示例:
import { BusinessError } from '@ohos.base';
try {
cooperate.prepare().then(() => {
console.log(`Keyboard mouse crossing prepare success.`);
}, (error: BusinessError) => {
console.log(`Keyboard mouse crossing prepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Keyboard mouse crossing prepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.unprepare
unprepare(callback: AsyncCallback<void>): void;
取消键鼠穿越准备,使用Callback异步回调。
系统能力: SystemCapability.Msdp.DeviceStatus.Cooperate
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
callback | AsyncCallback<void> | 是 | 回调函数,取消键鼠穿越准备成功时,err为undefined,否则为错误对象。 |
示例:
import { BusinessError } from '@ohos.base';
try {
cooperate.unprepare((error: BusinessError) => {
if (error) {
console.log(`Keyboard mouse crossing unprepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Keyboard mouse crossing unprepare success.`);
});
} catch (error) {
console.log(`Keyboard mouse crossing unprepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.unprepare
unprepare(): Promise<void>;
取消键鼠穿越准备,使用Promise异步回调。
系统能力: SystemCapability.Msdp.DeviceStatus.Cooperate
返回值:
参数 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
import { BusinessError } from '@ohos.base';
try {
cooperate.unprepare().then(() => {
console.log(`Keyboard mouse crossing unprepare success.`);
}, (error: BusinessError) => {
console.log(`Keyboard mouse crossing unprepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Keyboard mouse crossing unprepare failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.activate
activate(targetNetworkId: string, inputDeviceId: number, callback: AsyncCallback<void>): void;
启动键鼠穿越,使用Callback异步回调。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
targetNetworkId | string | 是 | 键鼠穿越目标设备描述符。 |
inputDeviceId | number | 是 | 待穿越输入设备标识符。 |
callback | AsyncCallback<void> | 是 | 回调函数,键鼠穿越启动成功时,err为undefined,否则为错误对象。 |
错误码:
以下错误码的详细介绍请参见ohos.devicestatus错误码。
错误码ID | 错误信息 |
---|---|
20900001 | Operation failed. |
示例:
import { BusinessError } from '@ohos.base';
let targetNetworkId = "networkId";
let inputDeviceId = 0;
try {
cooperate.activate(targetNetworkId, inputDeviceId, (error: BusinessError) => {
if (error) {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Start Keyboard mouse crossing success.`);
});
} catch (error) {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.activate
activate(targetNetworkId: string, inputDeviceId: number): Promise<void>;
启动键鼠穿越,使用Promise异步回调。
系统能力: SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
targetNetworkId | string | 是 | 键鼠穿越目标设备描述符。 |
inputDeviceId | number | 是 | 待穿越输入设备标识符。 |
返回值:
参数名 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
错误码:
以下错误码的详细介绍请参见ohos.devicestatus错误码。
错误码ID | 错误信息 |
---|---|
20900001 | Operation failed. |
示例:
import { BusinessError } from '@ohos.base';
let targetNetworkId = "networkId";
let inputDeviceId = 0;
try {
cooperate.activate(targetNetworkId, inputDeviceId).then(() => {
console.log(`Start Keyboard mouse crossing success.`);
}, (error: BusinessError) => {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Start Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.deactivate
deactivate(isUnchained: boolean, callback: AsyncCallback<void>): void;
停止键鼠穿越,使用Callback异步回调。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
isUnchained | boolean | 是 | 是否关闭跨设备链路。 ture表示关闭跨设备链路,false表示不关闭。 |
callback | AsyncCallback<void> | 是 | 回调函数,键鼠穿越停止成功时,err为undefined,否则为错误对象。 |
示例:
import { BusinessError } from '@ohos.base';
try {
cooperate.deactivate(false, (error: BusinessError) => {
if (error) {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Stop Keyboard mouse crossing success.`);
});
} catch (error) {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.deactivate
deactivate(isUnchained: boolean): Promise<void>;
停止键鼠穿越,使用Promise异步回调。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
isUnchained | boolean | 是 | 是否关闭跨设备链路。 ture表示关闭跨设备链路,false表示不关闭。 |
返回值:
参数名 | 说明 |
---|---|
Promise<void> | 无返回结果的Promise对象。 |
示例:
import { BusinessError } from '@ohos.base';
try {
cooperate.deactivate(false).then(() => {
console.log(`Stop Keyboard mouse crossing success.`);
}, (error: BusinessError) => {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Stop Keyboard mouse crossing failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.getCrossingSwitchState
getCrossingSwitchState(networkId: string, callback: AsyncCallback<boolean>): void;
获取目标设备键鼠穿越开关的状态,使用Callback异步回调。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
networkId | string | 是 | 键鼠穿越目标设备描述符。 |
callback | AsyncCallback<boolean> | 是 | 回调函数,返回ture表示目标设备键鼠穿越的开关开启,返回false表示开关未开启。 |
示例:
import { BusinessError } from '@ohos.base';
let deviceDescriptor = "networkId";
try {
cooperate.getCrossingSwitchState(deviceDescriptor, (error: BusinessError, data: boolean) => {
if (error) {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
return;
}
console.log(`Get the status success, data: ${JSON.stringify(data)}`);
});
} catch (error) {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
cooperate.getCrossingSwitchState
getCrossingSwitchState(networkId: string): Promise<boolean>;
获取目标设备键鼠穿越开关的状态,使用Promise异步方式返回结果。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
networkId | string | 是 | 键鼠穿越目标设备描述符。 |
返回值:
参数 | 说明 |
---|---|
Promise<boolean> | Promise对象,返回ture表示目标设备键鼠穿越的开关开启,返回false表示开关未开启。 |
示例:
import { BusinessError } from '@ohos.base';
let deviceDescriptor = "networkId";
try {
cooperate.getCrossingSwitchState(deviceDescriptor).then((data: boolean) => {
console.log(`Get the status success, data: ${JSON.stringify(data)}`);
}, (error: BusinessError) => {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
});
} catch (error) {
console.log(`Get the status failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
on(‘cooperate’)
on(type: ‘cooperate’, callback: Callback<{ networkId: string, msg: CooperateMsg }>): void;
注册监听键鼠穿越状态。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 监听类型,取值为’cooperate’ |
callback | Callback<{ networkId: string, msg: CooperateMsg }> | 是 | 回调函数,异步返回键鼠穿越状态消息。 |
示例:
function callback(networkId: string, msg: cooperate.CooperateMsg) {
console.log(`Keyboard mouse crossing event: ${JSON.stringify(networkId)}`);
return false;
}
try {
cooperate.on('cooperate', callback);
} catch (error) {
console.log(`Register failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
off(‘cooperate’)
off(type: ‘cooperate’, callback?: Callback<void>): void;
取消监听键鼠穿越状态。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
type | string | 是 | 监听类型,取值为’cooperate’。 |
callback | AsyncCallback<void> | 否 | 需要取消注册的回调函数,若无此参数,则取消当前应用注册的所有回调函数。 |
示例:
// 取消注册单个回调函数
function callbackOn(networkId: string, msg: cooperate.CooperateMsg) {
console.log(`Keyboard mouse crossing event: ${JSON.stringify(networkId)}`);
return false;
}
function callbackOff() {
console.log(`Keyboard mouse crossing event`);
return false;
}
try {
cooperate.on('cooperate', callbackOn);
cooperate.off('cooperate', callbackOff);
} catch (error) {
console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// 取消注册所有回调函数
function callbackOn(networkId: string, msg: cooperate.CooperateMsg) {
console.log(`Keyboard mouse crossing event: ${JSON.stringify(networkId)}`);
return false;
}
try {
cooperate.on('cooperate', callbackOn);
cooperate.off('cooperate');
} catch (error) {
console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
CooperateMsg
键鼠穿越的消息通知。
系统能力:SystemCapability.Msdp.DeviceStatus.Cooperate
名称 | 值 | 说明 |
---|---|---|
COOPERATE_PREPARE | 0 | 表示准备键鼠穿越。 |
COOPERATE_UNPREPARE | 1 | 表示取消键鼠穿越准备。 |
COOPERATE_ACTIVATE | 2 | 表示启动键鼠穿越。 |
COOPERATE_ACTIVATE_SUCCESS | 3 | 表示键鼠穿越启动成功。 |
COOPERATE_ACTIVATE_FAIL | 4 | 表示键鼠穿越启动失败。 |
COOPERATE_DEACTIVATE_SUCCESS | 5 | 表示键鼠穿越停止成功。 |
COOPERATE_DEACTIVATE_FAIL | 6 | 表示键鼠穿越停止失败。 |
COOPERATE_SESSION_DISCONNECTED | 7 | 表示键鼠穿越会话断开。 |
你可能感兴趣的鸿蒙文章
harmony 鸿蒙BundleStatusCallback
harmony 鸿蒙@ohos.bundle.innerBundleManager (innerBundleManager模块)
harmony 鸿蒙@ohos.distributedBundle (分布式包管理)
harmony 鸿蒙@ohos.bundle (Bundle模块)
harmony 鸿蒙@ohos.enterprise.EnterpriseAdminExtensionAbility (企业设备管理扩展能力)
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦