未验证 提交 3cdeb631 编写于 作者: O openharmony_ci 提交者: Gitee

!10360 添加 ContinueMission 接口,distributedMissionManager 错误码整改

Merge pull request !10360 from 王洋/master
# 分布式任务管理 # 分布式任务管理
分布式任务管理模块提供跨设备系统任务管理能力,包括注册系统任务状态监听、取消系统任务状态监听、开始同步远端任务列表、停止同步远端任务列表操作。 分布式任务管理模块提供跨设备系统任务管理能力,包括注册系统任务状态监听、取消系统任务状态监听、开始同步远端任务列表、停止同步远端任务列表、迁移任务操作。
> **说明:** > **说明:**
> >
...@@ -48,16 +48,23 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback, ...@@ -48,16 +48,23 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback,
console.log('NotifyNetDisconnect state ' + JSON.stringify(state)); console.log('NotifyNetDisconnect state ' + JSON.stringify(state));
} }
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
var options = { var options = {
notifyMissionsChanged: NotifyMissionsChanged, notifyMissionsChanged: NotifyMissionsChanged,
notifySnapshot: NotifySnapshot, notifySnapshot: NotifySnapshot,
notifyNetDisconnect: NotifyNetDisconnect notifyNetDisconnect: NotifyNetDisconnect
} }
distributedMissionManager.registerMissionListener(parameter, options, (error) => { try {
console.log("error.code = " + error.code) distributedMissionManager.registerMissionListener(parameter, options, (error) => {
}) if (error.code != 0) {
console.error('registerMissionListener failed, cause: ' + JSON.stringify(error))
}
console.info('registerMissionListener finished')
})
} catch (error) {
console.error('registerMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.registerMissionListener ## distributedMissionManager.registerMissionListener
...@@ -97,19 +104,23 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback): ...@@ -97,19 +104,23 @@ registerMissionListener(parameter: MissionDeviceInfo, options: MissionCallback):
console.log('NotifyNetDisconnect state ' + JSON.stringify(state)); console.log('NotifyNetDisconnect state ' + JSON.stringify(state));
} }
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
var options = { var options = {
notifyMissionsChanged: NotifyMissionsChanged, notifyMissionsChanged: NotifyMissionsChanged,
notifySnapshot: NotifySnapshot, notifySnapshot: NotifySnapshot,
notifyNetDisconnect: NotifyNetDisconnect notifyNetDisconnect: NotifyNetDisconnect
} }
distributedMissionManager.registerMissionListener(parameter, options) try {
.then(data => { distributedMissionManager.registerMissionListener(parameter, options)
console.info('success data is ' + data); .then(data => {
}).catch(error => { console.info('registerMissionListener finished, ' + JSON.stringify(data));
console.info('error error is ' + error); }).catch(error => {
}) console.error('registerMissionListener failed, cause: ' + JSON.stringify(error));
})
} catch (error) {
console.error('registerMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
...@@ -134,11 +145,18 @@ unRegisterMissionListener(parameter: MissionDeviceInfo, callback: AsyncCallback& ...@@ -134,11 +145,18 @@ unRegisterMissionListener(parameter: MissionDeviceInfo, callback: AsyncCallback&
```ts ```ts
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
distributedMissionManager.unRegisterMissionListener(parameter, (error) => { try {
console.log("error.code = " + error.code) distributedMissionManager.unRegisterMissionListener(parameter, (error) => {
}) if (error.code != 0) {
console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error))
}
console.info('unRegisterMissionListener finished')
})
} catch (error) {
console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
...@@ -168,14 +186,18 @@ unRegisterMissionListener(parameter: MissionDeviceInfo): Promise<void> ...@@ -168,14 +186,18 @@ unRegisterMissionListener(parameter: MissionDeviceInfo): Promise<void>
```ts ```ts
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
distributedMissionManager.unRegisterMissionListener(parameter) try {
.then(data => { distributedMissionManager.unRegisterMissionListener(parameter)
console.info('success data is ' + data); .then(data => {
}).catch(error => { console.info('unRegisterMissionListener finished, ' + JSON.stringify(data));
console.info('error error is ' + error); }).catch(error => {
}) console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error));
})
} catch (error) {
console.error('unRegisterMissionListener failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.startSyncRemoteMissions ## distributedMissionManager.startSyncRemoteMissions
...@@ -199,13 +221,20 @@ startSyncRemoteMissions(parameter: MissionParameter, callback: AsyncCallback< ...@@ -199,13 +221,20 @@ startSyncRemoteMissions(parameter: MissionParameter, callback: AsyncCallback<
```ts ```ts
var parameter = { var parameter = {
deviceId: remoteDeviceId, deviceId: remoteDeviceId,
fixConflict: false, fixConflict: false,
tag: 0 tag: 0
}; };
distributedMissionManager.startSyncRemoteMissions(parameter, (error) => { try {
console.log("error.code = " + error.code) distributedMissionManager.startSyncRemoteMissions(parameter, (error) => {
}) if (error.code != 0) {
console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
console.info('startSyncRemoteMissions finished')
})
} catch (error) {
console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.startSyncRemoteMissions ## distributedMissionManager.startSyncRemoteMissions
...@@ -234,16 +263,20 @@ startSyncRemoteMissions(parameter: MissionParameter): Promise<void> ...@@ -234,16 +263,20 @@ startSyncRemoteMissions(parameter: MissionParameter): Promise<void>
```ts ```ts
var parameter = { var parameter = {
deviceId: remoteDeviceId, deviceId: remoteDeviceId,
fixConflict: false, fixConflict: false,
tag: 0 tag: 0
}; };
distributedMissionManager.startSyncRemoteMissions(parameter) try {
.then(data => { distributedMissionManager.startSyncRemoteMissions(parameter)
console.info('success data is ' + data); .then(data => {
}).catch(error => { console.info('startSyncRemoteMissions finished, ' + JSON.stringify(data));
console.info('error error is ' + error); }).catch(error => {
}) console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error));
})
} catch (error) {
console.error('startSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.stopSyncRemoteMissions ## distributedMissionManager.stopSyncRemoteMissions
...@@ -267,11 +300,18 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo, callback: AsyncCallback< ...@@ -267,11 +300,18 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo, callback: AsyncCallback<
```ts ```ts
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
}; };
distributedMissionManager.stopSyncRemoteMissions(parameter, (error) => { try {
console.log("error.code = " + error.code) distributedMissionManager.stopSyncRemoteMissions(parameter, (error) => {
}) if (error.code != 0) {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
console.info('stopSyncRemoteMissions finished')
})
} catch (error) {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
``` ```
## distributedMissionManager.stopSyncRemoteMissions ## distributedMissionManager.stopSyncRemoteMissions
...@@ -300,14 +340,113 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise<void> ...@@ -300,14 +340,113 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise<void>
```ts ```ts
var parameter = { var parameter = {
deviceId: remoteDeviceId deviceId: remoteDeviceId
};
try {
distributedMissionManager.stopSyncRemoteMissions(parameter)
.then(data => {
console.info('stopSyncRemoteMissions finished, ' + JSON.stringify(data));
}).catch(error => {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error));
})
} catch (error) {
console.error('stopSyncRemoteMissions failed, cause: ' + JSON.stringify(error))
}
```
## distributedMissionManager.continueMission
continueMission(parameter: ContinueDeviceInfo, options: ContinueCallback, callback: AsyncCallback<void>): void;
迁移任务,以回调函数的方式返回。
**需要权限**:ohos.permission.MANAGE_MISSIONS, ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------- | ---- | ----- |
| parameter | [ContinueDeviceInfo](#continuedeviceinfo) | 是 | 迁移信息。 |
| options | [ContinueCallback](#continuecallback) | 是 | 迁移任务完成回调函数。 |
| callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
**示例:**
```ts
var parameter = {
srcDeviceId: localDeviceId
dstDeviceId: remoteDeviceId
missionId: remoteMissionId
wantParams: {"key": "value"}
};
function OnContinueDone(resultCode) {
console.log('OnContinueDone resultCode: ' + JSON.stringify(resultCode));
};
var options = {
OnContinueDone: OnContinueDone
};
try {
distributedMissionManager.continueMission(parameter, options, (error) => {
if (error.code != 0) {
console.error('continueMission failed, cause: ' + JSON.stringify(error))
}
console.info('continueMission finished')
})
} catch (error) {
console.error('continueMission failed, cause: ' + JSON.stringify(error))
}
```
## distributedMissionManager.continueMission
continueMission(parameter: ContinueDeviceInfo, options: ContinueCallback): Promise<void>
迁移任务,以promise方式返回执行结果。
**需要权限**:ohos.permission.MANAGE_MISSIONS, ohos.permission.DISTRIBUTED_DATASYNC
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------- | ---- | ----- |
| parameter | [ContinueDeviceInfo](#continuedeviceinfo) | 是 | 迁移信息。 |
| options | [ContinueCallback](#continuecallback) | 是 | 迁移任务完成回调函数。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------- |
| Promise<void> | promise方式返回执行结果。 |
**示例:**
```ts
var parameter = {
srcDeviceId: localDeviceId
dstDeviceId: remoteDeviceId
missionId: remoteMissionId
wantParams: {"key": "value"}
};
function OnContinueDone(resultCode) {
console.log('OnContinueDone resultCode: ' + JSON.stringify(resultCode));
};
var options = {
OnContinueDone: OnContinueDone
}; };
distributedMissionManager.stopSyncRemoteMissions(parameter) try {
.then(data => { distributedMissionManager.continueMission(parameter, options)
console.info('success data is ' + data); .then(data => {
}).catch(error => { console.info('continueMission finished, ' + JSON.stringify(data));
console.info('error error is ' + error); }).catch(error => {
}) console.error('continueMission failed, cause: ' + JSON.stringify(error));
})
} catch (error) {
console.error('continueMission failed, cause: ' + JSON.stringify(error))
}
``` ```
## MissionCallback ## MissionCallback
...@@ -348,4 +487,31 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise<void> ...@@ -348,4 +487,31 @@ stopSyncRemoteMissions(parameter: MissionDeviceInfo): Promise<void>
| 名称 | 参数类型 | 可读 | 可写 | 说明 | | 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | ------ | ---- | ---- | ------- | | -------- | ------ | ---- | ---- | ------- |
| deviceId | string | 是 | 是 | 表示设备ID。 | | deviceId | string | 是 | 是 | 表示设备ID。 |
\ No newline at end of file
## ContinueDeviceInfo
表示发起任务迁移时所需参数的枚举。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | ------ | ---- | ---- | ------- |
| srcDeviceId | string | 是 | 是 | 表示任务迁移源设备ID。 |
| dstDeviceId | string | 是 | 是 | 表示任务迁移目标设备ID。 |
| missionId | string | 是 | 是 | 表示任务ID。 |
| wantParams | {[key: string]: any} | 是 | 是 | 表示扩展参数。 |
## ContinueCallback
表示迁移完成后,返回迁移结果回调函数。
**需要权限**:ohos.permission.MANAGE_MISSIONS
**系统能力**:SystemCapability.Ability.AbilityRuntime.Mission
| 名称 | 类型 | 可读 | 可写 | 说明 |
| --------------------- | -------- | ---- | ---- | ------------------ |
| onContinueDone | function | 是 | 否 | 通知迁移完成,返回迁移结果。 |
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册