鸿蒙开发接口Ability框架:【(窗口扩展能力)】

电子说

1.3w人已加入

描述

窗口扩展能力

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();
    })
  }

}

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分