Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
1a692b79
D
Docs
项目概览
OpenHarmony
/
Docs
接近 2 年 前同步成功
通知
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看板
未验证
提交
1a692b79
编写于
4月 07, 2023
作者:
O
openharmony_ci
提交者:
Gitee
4月 07, 2023
浏览文件
操作
浏览文件
下载
差异文件
!16836 新增协同场景下组件跨设备组件状态感知的接口文档说明
Merge pull request !16836 from 杜智海/master
上级
582e6324
84b03aed
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
62 addition
and
1 deletion
+62
-1
zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
...-dev/application-models/hop-multi-device-collaboration.md
+9
-1
zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md
...ation-dev/reference/apis/js-apis-app-ability-uiAbility.md
+53
-0
未找到文件。
zh-cn/application-dev/application-models/hop-multi-device-collaboration.md
浏览文件 @
1a692b79
...
...
@@ -397,7 +397,7 @@
import
Ability
from
'
@ohos.app.ability.UIAbility
'
;
```
2.
获取Caller通信接口。
Ability的context属性实现了startAbilityByCall方法,用于获取指定通用组件的Caller通信接口。如下示例通过this.context获取Ability实例的context属性,使用startAbilityByCall拉起Callee被调用端并获取Caller通信接口,注册Caller的onRelease监听。应用开发者根据实际业务需要做相应处理。
Ability的context属性实现了startAbilityByCall方法,用于获取指定通用组件的Caller通信接口。如下示例通过this.context获取Ability实例的context属性,使用startAbilityByCall拉起Callee被调用端并获取Caller通信接口,注册Caller的onRelease
和onRemoteStateChange
监听。应用开发者根据实际业务需要做相应处理。
```ts
...
...
@@ -418,6 +418,14 @@
console.info(`remote caller onRelease is called ${msg}`);
})
console.info('remote caller register OnRelease succeed');
// 注册caller的协同场景下跨设备组件状态变化监听通知
try {
caller.onRemoteStateChange((str) => {
console.log('Remote state changed ' + str);
});
} catch (error) {
console.log('Caller.onRemoteStateChange catch error, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}');
}
}
}).catch((error) => {
console.error(`get remote caller failed with ${error}`);
...
...
zh-cn/application-dev/reference/apis/js-apis-app-ability-uiAbility.md
浏览文件 @
1a692b79
...
...
@@ -574,6 +574,49 @@ release(): void;
}
```
## Caller.onRemoteStateChange
onRemoteStateChange(callback: OnRemoteStateChangeCallback): void;
注册协同场景下跨设备组件状态变化监听通知。
**系统能力**
:SystemCapability.Ability.AbilityRuntime.AbilityCore
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback |
[
OnRemoteStateChangeCallback
](
#onremotestatechangecallback
)
| 是 | 返回onRemoteStateChange回调结果。 |
**示例:**
```
ts
import
UIAbility
from
'
@ohos.app.ability.UIAbility
'
;
let
caller
;
let
dstDeviceId
:
string
;
export
default
class
MainAbility
extends
UIAbility
{
onWindowStageCreate
(
windowStage
:
Window
.
WindowStage
)
{
this
.
context
.
startAbilityByCall
({
bundleName
:
'
com.example.myservice
'
,
abilityName
:
'
MainUIAbility
'
,
deviceId
:
dstDeviceId
}).
then
((
obj
)
=>
{
caller
=
obj
;
try
{
caller
.
onRemoteStateChange
((
str
)
=>
{
console
.
log
(
'
Remote state changed
'
+
str
);
});
}
catch
(
error
)
{
console
.
log
(
'
Caller.onRemoteStateChange catch error, error.code: ${JSON.stringify(error.code)}, error.message: ${JSON.stringify(error.message)}
'
);
}
}).
catch
((
err
)
=>
{
console
.
log
(
'
Caller GetCaller error, error.code: ${JSON.stringify(err.code)}, error.message: ${JSON.stringify(err.message)}
'
);
})
;
}
}
```
## Caller.on
on(type: 'release', callback: OnReleaseCallback): void;
...
...
@@ -841,6 +884,16 @@ off(method: string): void;
| -------- | -------- | -------- | -------- | -------- |
| (msg: string) | 是 | 否 | function | 调用者注册的侦听器函数接口的原型。 |
## OnRemoteStateChangeCallback
(msg: string): void;
**系统能力**
:SystemCapability.Ability.AbilityRuntime.AbilityCore
| 名称 | 可读 | 可写 | 类型 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| (msg: string) | 是 | 否 | function | 调用者注册的协同场景下组件状态变化监听函数接口的原型。 |
## CalleeCallback
(indata: rpc.MessageSequence): rpc.Parcelable;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录