窗口擴展能力
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] | 是 | 當前窗口實例。 |
示例:
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();
})
}
}
審核編輯 黃宇
-
接口
+關注
關注
33文章
8650瀏覽量
151402 -
框架
+關注
關注
0文章
403瀏覽量
17511 -
鴻蒙
+關注
關注
57文章
2371瀏覽量
42909
發布評論請先 登錄
相關推薦
評論