openharmony 鸿蒙 js-apis-devicestatus-cooperate-sys

2025-06-12 浏览 (1)

@ohos.cooperate (Screen Hopping) (System API)

The cooperate module implements screen hopping for two or more networked devices to share the keyboard and mouse for collaborative operations.

NOTE

  • The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version.

  • The APIs provided by this module are system APIs.

Modules to Import

import cooperate from '@ohos.cooperate';

cooperate.prepareCooperate11+

prepareCooperate(callback: AsyncCallback<void>): void;

Prepares for screen hopping. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

import { BusinessError } from '@ohos.base';
try {
  cooperate.prepareCooperate((error: BusinessError) => {
    if (error) {
      console.log(`Keyboard mouse crossing prepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
      return;
    }
    console.log(`Keyboard mouse crossing prepareCooperate success.`);
  });
} catch (error) {
  console.log(`Keyboard mouse crossing prepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

cooperate.prepareCooperate11+

prepareCooperate(): Promise<void>;

Prepares for screen hopping. This API uses a promise to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Return value

ParametersDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

import { BusinessError } from '@ohos.base';
try {
  cooperate.prepareCooperate().then(() => {
    console.log(`Keyboard mouse crossing prepareCooperate success.`);
  }, (error: BusinessError) => {
    console.log(`Keyboard mouse crossing prepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
  });
} catch (error) {
  console.log(`Keyboard mouse crossing prepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

cooperate.unprepareCooperate11+

unprepareCooperate(callback: AsyncCallback<void>): void;

Cancels the preparation for screen hopping. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

import { BusinessError } from '@ohos.base';
try {
  cooperate.unprepareCooperate((error: BusinessError) => {
    if (error) {
      console.log(`Keyboard mouse crossing unprepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
      return;
    }
    console.log(`Keyboard mouse crossing unprepareCooperate success.`);
  });
} catch (error) {
  console.log(`Keyboard mouse crossing unprepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

cooperate.unprepareCooperate11+

unprepareCooperate(): Promise<void>;

Cancels the preparation for screen hopping. This API uses a promise to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Return value

ParametersDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.

Example

import { BusinessError } from '@ohos.base';
try {
  cooperate.unprepareCooperate().then(() => {
    console.log(`Keyboard mouse crossing unprepareCooperate success.`);
  }, (error: BusinessError) => {
    console.log(`Keyboard mouse crossing unprepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
  });
} catch (error) {
  console.log(`Keyboard mouse crossing unprepareCooperate failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

cooperate.activateCooperate11+

activateCooperate(targetNetworkId: string, inputDeviceId: number, callback: AsyncCallback<void>): void;

Starts screen hopping. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
targetNetworkIdstringYesDescriptor of the target device for screen hopping.
inputDeviceIdnumberYesIdentifier of the input device for screen hopping.
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.
20900001Service exception. Possible causes: 1. A system error, such as null pointer, container-related exception, or IPC exception. 2. N-API invocation exception or invalid N-API status.

Example

import { BusinessError } from '@ohos.base';
let targetNetworkId = "networkId";
let inputDeviceId = 0;
try {
  cooperate.activateCooperate(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.activateCooperate11+

activateCooperate(targetNetworkId: string, inputDeviceId: number): Promise<void>;

Starts screen hopping. This API uses a promise to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
targetNetworkIdstringYesDescriptor of the target device for screen hopping.
inputDeviceIdnumberYesIdentifier of the input device for screen hopping.

Return value

NameDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.
20900001Service exception. Possible causes: 1. A system error, such as null pointer, container-related exception, or IPC exception. 2. N-API invocation exception or invalid N-API status.

Example

import { BusinessError } from '@ohos.base';
let targetNetworkId = "networkId";
let inputDeviceId = 0;
try {
 cooperate.activateCooperate(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.deactivateCooperate11+

deactivateCooperate(isUnchained: boolean, callback: AsyncCallback<void>): void;

Stops screen hopping. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
isUnchainedbooleanYesWhether to disable the cross-device link. The value true means to disable the cross-device link, and the value false means the opposite.
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

import { BusinessError } from '@ohos.base';
try {
  cooperate.deactivateCooperate(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.deactivateCooperate11+

deactivateCooperate(isUnchained: boolean): Promise<void>;

Stops screen hopping. This API uses a promise to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
isUnchainedbooleanYesWhether to disable the cross-device link. The value true means to disable the cross-device link, and the value false means the opposite.

Return value

NameDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.

Example

import { BusinessError } from '@ohos.base';
try {
  cooperate.deactivateCooperate(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.getCooperateSwitchState11+

getCooperateSwitchState(networkId: string, callback: AsyncCallback<boolean>): void;

Obtains the screen hopping status of the target device. This API uses an asynchronous callback to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
networkIdstringYesDescriptor of the target device for screen hopping.
callbackAsyncCallback<boolean>YesCallback used to return the result. The value true indicates that screen hopping is enabled, and the value false indicates the opposite.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

import { BusinessError } from '@ohos.base';
let deviceDescriptor = "networkId";
try {
  cooperate.getCooperateSwitchState(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.getCooperateSwitchState11+

getCooperateSwitchState(networkId: string): Promise<boolean>;

Obtains the screen hopping status of the target device. This API uses a promise to return the result.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
networkIdstringYesDescriptor of the target device for screen hopping.

Return value

ParametersDescription
Promise<boolean>Promise used to return the result. The value true indicates that screen hopping is enabled, and the value false indicates the opposite.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

import { BusinessError } from '@ohos.base';
let deviceDescriptor = "networkId";
try {
  cooperate.getCooperateSwitchState(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('cooperateMessage')11+

on(type: 'cooperateMessage', callback: Callback<CooperateMessage>): void;

Enables listening for screen hopping status change events.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The value is cooperateMessage.
callbackCallback<CooperateMessage>YesCallback used to return the result.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

function callback(msg: cooperate.CooperateMessage) {
  console.log(`Keyboard mouse crossing event: ${JSON.stringify(msg)}`);
  return false;
}
try {
  cooperate.on('cooperateMessage', callback);
} catch (error) {
  console.log(`Register failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

off('cooperateMessage')11+

off(type: 'cooperateMessage', callback?: Callback<CooperateMessage>): void;

Disables listening for screen hopping status change events.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The value is cooperate.
callbackCallback<CooperateMessage>NoCallback to be unregistered. If this parameter is not specified, all callbacks registered by the current application will be unregistered.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

// Unregister a single callback.
function callbackOn(msgOn: cooperate.CooperateMessage) {
  console.log(`Keyboard mouse crossing event: ${JSON.stringify(msgOn)}`);
  return false;
}
function callbackOff(msgOff: cooperate.CooperateMessage) {
  console.log(`Keyboard mouse crossing event: ${JSON.stringify(msgOff)}`);
  return false;
}
try {
  cooperate.on('cooperateMessage', callbackOn);
  cooperate.off('cooperateMessage', callbackOff);
} catch (error) {
  console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Unregister all callbacks.
function callbackOn(msg: cooperate.CooperateMessage) {
  console.log(`Keyboard mouse crossing event: ${JSON.stringify(msg)}`);
  return false;
}
try {
  cooperate.on('cooperateMessage', callbackOn);
  cooperate.off('cooperateMessage');
} catch (error) {
  console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

on('cooperateMouse')12+

on(type: 'cooperateMouse', networkId: string, callback: Callback<MouseLocation>): void;

Registers a listener for the mouse cursor position of a device.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which is 'cooperateMouse'.
networkIdstringYesDescriptor of the target device.
callbackCallback<MouseLocation>YesCallback used to return the mouse cursor position of the device.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

function callback(data: cooperate.MouseLocation) {
  console.log('displayX:' + data.displayX + 'displayY:' + data.displayX + 'displayWidth:' +
    data.displayWidth + 'displayHeight:' + data.displayHeight );
}
try {
  let networkId: string = 'Default';
  cooperate.on('cooperateMouse', networkId, callback);
} catch (error) {
  console.log(`Register failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

off('cooperateMouse')12+

off(type: 'cooperateMouse', networkId: string, callback?: Callback<MouseLocation>): void;

Unregisters the listener for the mouse cursor position of a device.

Required permissions: ohos.permission.COOPERATE_MANAGER

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
typestringYesEvent type, which is 'cooperateMouse'.
networkIdstringYesDescriptor of the target device.
callbackCallback<MouseLocation>NoCallback to be unregistered. If this parameter is not specified, all callbacks registered by the current application will be unregistered.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
201Permission denied.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

// Unregister a single callback.
function callbackOn(data: cooperate.MouseLocation) {
  console.log('Register mouse location listener');
  return false;
}
function callbackOff(data: cooperate.MouseLocation) {
  console.log('Unregister mouse location listener');
  return false;
}
try {
  let networkId: string = 'Default';
  cooperate.on('cooperateMouse', networkId, callbackOn);
  cooperate.off('cooperateMouse', networkId, callbackOff);
} catch (error) {
  console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}
// Unregister all callbacks.
function callbackOn(data: cooperate.MouseLocation) {
  console.log('Register mouse location listener');
}
try {
  let networkId: string = 'Default';
  cooperate.on('cooperateMouse', networkId, callbackOn);
  cooperate.off('cooperateMouse', networkId);
} catch (error) {
  console.log(`Execute failed, error: ${JSON.stringify(error, [`code`, `message`])}`);
}

CooperateMessage11+

Defines a screen hopping status change event.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameTypeReadableWritableDescription
networkIdstringYesNoDescriptor of the target device for screen hopping.
stateCooperateStateYesNoScreen hopping status.

MouseLocation12+

Defines the mouse pointer position for screen hopping.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameTypeReadableWritableDescription
displayXnumberYesNoPosition of the mouse pointer on the X coordinate of the screen.
displayYnumberYesNoPosition of the mouse pointer on the Y coordinate of the screen.
displayWidthnumberYesNoScreen width, in pixels.
displayHeightnumberYesNoScreen height, in pixels.

CooperateState11+

Screen hopping status.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameTypeReadableWritableDescription
COOPERATE_PREPAREnumberYesNoThe preparation for screen hopping is finished.
COOPERATE_UNPREPAREnumberYesNoThe preparation for screen hopping is cancelled.
COOPERATE_ACTIVATEnumberYesNoScreen hopping starts.
COOPERATE_ACTIVATE_SUCCESSnumberYesNoStarting screen hopping succeeds.
COOPERATE_ACTIVATE_FAILnumberYesNoStarting screen hopping fails.
COOPERATE_DEACTIVATE_SUCCESSnumberYesNoStopping screen hopping succeeds.
COOPERATE_DEACTIVATE_FAILnumberYesNoStopping screen hopping fails.
COOPERATE_SESSION_DISCONNECTEDnumberYesNoThe screen hopping session is disconnected.
COOPERATE_ACTIVATE_FAILUREnumberYesNoScreen hopping fails to start.
COOPERATE_DEACTIVATE_FAILUREnumberYesNoScreen hopping fails to stop.

MouseLocation12+

Represents the mouse cursor position.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameTypeReadableWritableDescription
displayXnumberYesNoX coordinate of the mouse cursor.
displayYnumberYesNoY coordinate of the mouse cursor.
displayWidthnumberYesNoWidth of the screen where the mouse cursor is located, in pixels.
displayHeightnumberYesNoHeight of the screen where the mouse cursor is located, in pixels.

cooperate.prepare(deprecated)

prepare(callback: AsyncCallback<void>): void;

Prepares for screen hopping. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.prepareCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

prepare(): Promise<void>;

Prepares for screen hopping. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.prepareCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Return value

ParametersDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

unprepare(callback: AsyncCallback<void>): void;

Cancels the preparation for screen hopping. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.unprepareCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameTypeMandatoryDescription
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

unprepare(): Promise<void>;

Cancels the preparation for screen hopping. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.unprepareCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Return value

ParametersDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

activate(targetNetworkId: string, inputDeviceId: number, callback: AsyncCallback<void>): void;

Starts screen hopping. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.activateCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
targetNetworkIdstringYesDescriptor of the target device for screen hopping.
inputDeviceIdnumberYesIdentifier of the input device for screen hopping.
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
20900001Service exception. Possible causes: 1. A system error, such as null pointer, container-related exception, or IPC exception. 2. N-API invocation exception or invalid N-API status.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

activate(targetNetworkId: string, inputDeviceId: number): Promise<void>;

Starts screen hopping. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.activateCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
targetNetworkIdstringYesDescriptor of the target device for screen hopping.
inputDeviceIdnumberYesIdentifier of the input device for screen hopping.

Return value

NameDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
20900001Service exception. Possible causes: 1. A system error, such as null pointer, container-related exception, or IPC exception. 2. N-API invocation exception or invalid N-API status.
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

deactivate(isUnchained: boolean, callback: AsyncCallback<void>): void;

Stops screen hopping. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.deactivateCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
isUnchainedbooleanYesWhether to disable the cross-device link.
The value true means to disable the cross-device link, and the value false means the opposite.
callbackAsyncCallback<void>YesCallback used to return the operation result. If the operation is successful, err is undefined. Otherwise, err is an error object.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

deactivate(isUnchained: boolean): Promise<void>;

Stops screen hopping. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.deactivateCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
isUnchainedbooleanYesWhether to disable the cross-device link.
The value true means to disable the cross-device link, and the value false means the opposite.

Return value

NameDescription
Promise<void>Promise that returns no value.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.

Example

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(deprecated)

getCrossingSwitchState(networkId: string, callback: AsyncCallback<boolean>): void;

Obtains the screen hopping status of the target device. This API uses an asynchronous callback to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.deactivateCooperate.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
networkIdstringYesDescriptor of the target device for screen hopping.
callbackAsyncCallback<boolean>YesCallback used to return the result. The value true indicates that screen hopping is enabled, and the value false indicates the opposite.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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(deprecated)

getCrossingSwitchState(networkId: string): Promise<boolean>;

Obtains the screen hopping status of the target device. This API uses a promise to return the result.

NOTE

This API is deprecated since API version 10. You are advised to use cooperate.getCooperateSwitchState.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
networkIdstringYesDescriptor of the target device for screen hopping.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Return value

ParametersDescription
Promise<boolean>Promise used to return the result. The value true indicates that screen hopping is enabled, and the value false indicates the opposite.

Example

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')(deprecated)

on(type: 'cooperate', callback: Callback<{ networkId: string, msg: CooperateMsg }>): void;

Enables listening for screen hopping status change events.

NOTE

This API is deprecated since API version 10. You are advised to use on('cooperateMessage').

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The value is cooperate.
callbackCallback<{ networkId: string, msg: CooperateMsg }>YesCallback used to return the result.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

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')(deprecated)

off(type: 'cooperate', callback?: Callback<void>): void;

Disables listening for screen hopping status change events.

NOTE

This API is deprecated since API version 10. You are advised to use off('cooperateMessage').

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

Parameters

NameTypeMandatoryDescription
typestringYesEvent type. The value is cooperate.
callbackAsyncCallback<void>NoCallback to be unregistered. If this parameter is not specified, all callbacks registered by the current application will be unregistered.

Error codes

For details about the error codes, see Screen Hopping Error Codes.

IDError Message
202Not system application.
401Parameter error. Possible causes: 1. Mandatory parameters are left unspecified.2.Incorrect parameter types.3.Parameter verification failed.

Example

// Unregister a single callback.
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`])}`);
}
// Unregister all callbacks.
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(deprecated)

Represents a screen hopping message notification.

NOTE

This API is deprecated since API version 10. You are advised to use CooperateMessage.

System capability: SystemCapability.Msdp.DeviceStatus.Cooperate

NameValueDescription
COOPERATE_PREPARE0The preparation for screen hopping is finished.
COOPERATE_UNPREPARE1The preparation for screen hopping is cancelled.
COOPERATE_ACTIVATE2Screen hopping starts.
COOPERATE_ACTIVATE_SUCCESS3Starting screen hopping succeeds.
COOPERATE_ACTIVATE_FAIL4Starting screen hopping fails.
COOPERATE_DEACTIVATE_SUCCESS5Stopping screen hopping succeeds.
COOPERATE_DEACTIVATE_FAIL6Stopping screen hopping fails.
COOPERATE_SESSION_DISCONNECTED7The screen hopping session is disconnected.

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Distributed Service Kit (Distributed Management Service)

harmony 鸿蒙DeviceManager

harmony 鸿蒙oh_device_manager_err_code.h

harmony 鸿蒙oh_device_manager.h

harmony 鸿蒙Device Management Error Codes

harmony 鸿蒙Screen Hopping Error Codes

harmony 鸿蒙Link Enhancement Error Codes

harmony 鸿蒙@ohos.distributedHardware.deviceManager (Device Management) (System API)

harmony 鸿蒙@ohos.distributedsched.abilityConnectionManager (Cross-Device Connection Management) (System API)

harmony 鸿蒙@ohos.distributedsched.abilityConnectionManager (Cross-Device Connection Management)

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/UgP47C