Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
2fabc889
D
Docs
项目概览
OpenHarmony
/
Docs
1 年多 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2fabc889
编写于
5月 06, 2023
作者:
X
xinking129
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix file
Signed-off-by:
N
xinking129
<
xinxin13@huawei.com
>
上级
5025c745
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
21 addition
and
81 deletion
+21
-81
zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
...-dev/application-models/hop-multi-device-collaboration.md
+21
-81
未找到文件。
zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
浏览文件 @
2fabc889
...
...
@@ -13,8 +13,6 @@
-
[
通过跨设备Call调用实现多端协同
](
#通过跨设备call调用实现多端协同
)
-
[
退出由跨设备拉起的ServiceExtensionAbility组件
](
#退出由跨设备拉起的serviceextensionability组件
)
## 多端协同流程
...
...
@@ -45,7 +43,8 @@
|
**接口名**
|
**描述**
|
| -------- | -------- |
| startAbility(want:
Want,
callback:
AsyncCallback
<
void
>
):
void; | 启动UIAbility和ServiceExtensionAbility(callback形式)。 |
| stopServiceExtensionAbility(want:
Want,
callback:
AsyncCallback
<
void
>
):
void; | 退出启动的ServiceExtensionAbility,callback形式接口。 |
| stopServiceExtensionAbility(want:
Want):
Promise
<
void
>
; | 退出启动的ServiceExtensionAbility,Promise形式接口。 |
### 开发步骤
...
...
@@ -94,7 +93,14 @@
}
// context为发起端UIAbility的AbilityContext
this
.
context
.
startAbility
(
want
).
then
(()
=>
{
// 其他业务处理
// ...
// 退出跨设备启动的ServiceExtensionAbility
this
.
context
.
stopServiceExtensionAbility
(
want
).
then
(()
=>
{
console
.
info
(
"
stop service extension ability success
"
)
}).
catch
((
err
)
=>
{
console
.
info
(
"
stop service extension ability err is
"
+
JSON
.
stringify
(
err
))
})
}).
catch
((
err
)
=>
{
// ...
})
...
...
@@ -192,6 +198,8 @@
| connectServiceExtensionAbility(want:
Want,
options:
ConnectOptions):
number; | 连接ServiceExtensionAbility。 |
| disconnectServiceExtensionAbility(connection:
number,
callback:AsyncCallback
<
void
>
):
void; | 断开连接(callback形式)。 |
| disconnectServiceExtensionAbility(connection:
number):
Promise
<
void
>
; | 断开连接(promise形式)。 |
| stopServiceExtensionAbility(want:
Want,
callback:
AsyncCallback
<
void
>
):
void; | 退出启动的ServiceExtensionAbility,callback形式接口。 |
| stopServiceExtensionAbility(want:
Want):
Promise
<
void
>
; | 退出启动的ServiceExtensionAbility,Promise形式接口。 |
### 开发步骤
...
...
@@ -268,6 +276,16 @@
})
```
6.
退出远端ServiceExtensionAbility。
```
ts
// 退出跨设备启动的ServiceExtensionAbility
this
.
context
.
stopServiceExtensionAbility
(
want
).
then
(()
=>
{
console
.
info
(
"
stop service extension ability success
"
)
}).
catch
((
err
)
=>
{
console
.
info
(
"
stop service extension ability err is
"
+
JSON
.
stringify
(
err
))
})
```
## 通过跨设备Call调用实现多端协同
...
...
@@ -487,81 +505,3 @@
}
}
```
## 退出由跨设备拉起的ServiceExtensionAbility组件
下面介绍退出由跨设备拉起的ServiceExtensionAbility组件的方法。
### 接口说明
**表5**
API接口功能介绍
| 接口名 | 描述 |
| -------- | -------- |
| stopServiceExtensionAbility(want:
Want):
Promise
<
void
>
; | 退出启动的ServiceExtensionAbility,Promise形式接口。 |
| stopServiceExtensionAbility(want:
Want,
callback:
AsyncCallback
<
void
>
):
void; | 退出启动的ServiceExtensionAbility,callback形式接口。 |
### 开发步骤
1.
使用stopServiceExtensionAbility接口退出由startAbility接口或connectServiceExtensionAbility接口拉起的跨设备ServiceExtension应用。
1. 导入接口模块
```ts
import Ability from '@ohos.app.ability.UIAbility';
```
or
```ts
import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
```
2. 退出使用startAbility接口启动的跨设备ServiceExtension应用。
```ts
let deviceId = "device ID obtained from manager"
let want = {
deviceId: deviceId,
bundleName: "com.acts.actsstopserviceextensionmanualtest",
abilityName: "ServiceAbility",
};
this.context.startAbility(want).then(() => {
console.info("start ability success")
this.context.stopServiceExtensionAbility(want).then(() => {
console.info("stop service extension ability success")
}).catch((err) => {
console.info("stop service extension ability err is " + JSON.stringify(err))
})
}).catch((err) => {
console.info("start ability err is " + JSON.stringify(err))
})
```
3. 退出使用connectServiceExtensionAbility接口启动的跨设备ServiceExtension应用。
```ts
let deviceId = "device ID obtained from manager"
let want = {
deviceId: deviceId,
bundleName: "com.acts.actsstopserviceextensionmanualtest",
abilityName: "ServiceAbility",
};
let context = this.context;
let connectOptions = {
onConnect(elementName, remote) {
console.info("onConnect called elementName is {" + JSON.stringify(elementName) + "}" + " remote is {" + JSON.stringify(remote) + "}");
context.stopServiceExtensionAbility(want).then(() => {
console.info("stop service extension ability success")
}).catch((err) => {
console.info("stop service extension ability err is " + JSON.stringify(err))
})
},
onDisconnect(elementName) {
console.info("onDisconnect called elementName is {" + JSON.stringify(elementName) + "}");
},
onFailed(code) {
console.info("onFailed called elementName is {" + JSON.stringify(code) + "}");
}
}
this.context.connectServiceExtensionAbility(want, connectOptions)
```
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录