窗口扩展能力
WindowExtensionAbility基于ExtensionAbility,WindowExtensionAbility中展示的内容作为一个控件(AbilityComponent)内容展示在其他应用窗口中,实现在一个窗口中展示多个应用程序内容的功能。
说明:
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口为系统接口。
本模块接口仅可在Stage模型下使用。
导入模块
import WindowExtensionAbility from '@ohos.application.WindowExtensionAbility';
开发前请熟悉鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
属性
系统能力: SystemCapability.Ability.AbilityRuntime.Core
名称 | 参数类型 | 可读 | 可写 | 说明 |
---|---|---|---|---|
context | ExtensionContext | 是 | 否 | 上下文。 |
WindowExtensionAbility.onConnect
onConnect(want: Want): rpc.RemoteObject
当窗口扩展组件第一次连接ability时回调。
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
want | Want | 是 | 当前ability的Want类型信息,包括ability名称、bundle名称等。 |
返回值:
类型 | 说明 |
---|---|
rpc.RemoteObject | 窗口功能的代理对象。 |
示例:
import rpc from '@ohos.rpc';
class StubTest extends rpc.RemoteObject {
constructor(des) {
super(des);
}
onRemoteRequest(code, data, reply, option) {
return true;
}
queryLocalInterface(descriptor) {
return null;
}
getInterfaceDescriptor() {
return "";
}
sendRequest(code, data, reply, options) {
return null;
}
getCallingPid() {
return 1;
}
getCallingUid() {
return 1;
}
attachLocalInterface(localInterface, descriptor){}
}
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
onConnect(want): rpc.RemoteObject {
console.info('WindowExtAbility onConnect ' + want.abilityName);
return new StubTest("test");
}
}
WindowExtensionAbility.onDisconnect
onDisconnect(want: Want): void
当所有连接到窗口扩展组件的ability断开连接时回调。
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
want | Want | 是 | 当前Ability的Want类型信息,包括ability名称、bundle名称等。 |
示例:
export default class MyWindowExtensionAbility extends WindowExtensionAbility { onDisconnect(want) { console.info('WindowExtAbility onDisconnect ' + want.abilityName); } }
WindowExtensionAbility.onWindowReady
onWindowReady(window: Window): void
当窗口被创建时回调。
系统能力: SystemCapability.Ability.AbilityRuntime.Core
参数名 | 类型 | 必填 | 说明 | |
---|---|---|---|---|
window | Window | 是 | 当前窗口实例。 | HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿 |
示例:
export default class MyWindowExtensionAbility extends WindowExtensionAbility {
onWindowReady(window) {
window.loadContent('WindowExtAbility/pages/index1').then(() => {
window.getProperties().then((pro) => {
console.log("WindowExtension " + JSON.stringify(pro));
})
window.show();
})
}
}
鸿蒙语言有TS、ArkTS等语法,那么除了这些基础知识之外,其核心技术点有那些呢?下面就用一张整理出的鸿蒙学习路线图表示:
从上面的OpenHarmony技术梳理来看,鸿蒙的学习内容也是很多的。现在全网的鸿蒙学习文档也是非常的少,下面推荐一些:完整内容可在头像页保存,或这qr23.cn/AKFP8k甲助力
内容包含:《鸿蒙NEXT星河版开发学习文档》
- ArkTS
- 声明式ArkUI
- 多媒体
- 通信问题
- 系统移植
- 系统裁剪
- FW层的原理
- 各种开发调试工具
- 智能设备开发
- 分布式开发等等。
这些就是对往后开发者的分享,希望大家多多点赞关注喔!