0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-05-13 16:39 次阅读

窗口扩展能力

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]当前窗口实例。

搜狗高速浏览器截图20240326151547.png
示例:

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

    文章

    7834

    浏览量

    148925
  • 框架
    +关注

    关注

    0

    文章

    347

    浏览量

    17115
  • 鸿蒙
    +关注

    关注

    55

    文章

    1879

    浏览量

    42181
收藏 人收藏

    评论

    相关推荐

    鸿蒙开发接口Ability框架:【@ohos.application.Ability (Ability)】

    Ability模块提供对Ability生命周期、上下文环境等调用管理的能力,包括Ability创建、销毁、转储客户端信息等。
    的头像 发表于 04-30 17:42 1903次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.application.<b class='flag-5'>Ability</b> (<b class='flag-5'>Ability</b>)】

    鸿蒙开发接口Ability框架:【@ohos.ability.featureAbility (FeatureAbility模块)】

    FeatureAbility模块提供带有UI设计与用户交互的能力,包括启动新的ability、获取dataAbilityHelper、设置此Page Ability、获取当前Ability
    的头像 发表于 05-06 16:31 633次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.<b class='flag-5'>ability</b>.featureAbility (FeatureAbility模块)】

    鸿蒙开发接口Ability框架:【@ohos.ability.particleAbility (particleAbility模块)】

    particleAbility模块提供了Service类型Ability能力,包括启动、停止指定的particleAbility,获取dataAbilityHelper,连接、断开当前Ability与指定ServiceAbil
    的头像 发表于 05-09 10:21 441次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.<b class='flag-5'>ability</b>.particleAbility (particleAbility模块)】

    鸿蒙开发接口Ability框架:【 (ServiceExtensionAbility)】

    ServiceExtensionAbility模块提供ServiceExtension服务扩展相关接口能力
    的头像 发表于 05-09 09:59 458次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (ServiceExtensionAbility)】

    鸿蒙开发接口Ability框架:【 (Context模块)】

    Context模块提供了ability或application的上下文的能力,包括允许访问特定于应用程序的资源、请求和验证权限等。
    的头像 发表于 05-13 16:04 306次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (Context模块)】

    鸿蒙开发接口Ability框架:【(AbilityContext)】

    AbilityContext是Ability的上下文环境,继承自Context。
    的头像 发表于 05-13 09:26 530次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityContext)】

    鸿蒙开发接口Ability框架:【(AbilityDelegator)】

    AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达
    的头像 发表于 05-13 17:58 622次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityDelegator)】

    鸿蒙开发接口Ability框架:【AbilityRunningInfo】

    AbilityRunningInfo模块提供对Ability运行的相关信息和状态进行设置和查询的能力
    的头像 发表于 05-14 16:02 505次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityRunningInfo】

    鸿蒙开发接口Ability框架:【AbilityDelegator】

    AbilityDelegator提供添加用于监视指定能力的生命周期状态更改的AbilityMonitor对象的能力,包括对AbilityMonitor实例的添加、删除、等待ability到达
    的头像 发表于 05-16 16:48 666次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityDelegator】

    鸿蒙Ability开发-Stage模型下Ability的创建和使用

    ) ?? \'\'); }); } ... }; UIAbilityContext模块启动Ability能力 UIAbilityContext模块提供允许访问特定Ability的资源的
    发表于 01-08 15:34

    鸿蒙应用/元服务开发-窗口(Stage模型)体验窗口沉浸式能力

    的),达到预期效果。 二、开发步骤 1.获取应用主窗口。 通过getMainWindow接口获取应用主窗口。 2.实现沉浸式效果。 调用setWindowSystemBarEnable
    发表于 02-06 15:08

    鸿蒙原生应用/元服务开发-Stage模型能力接口(二)

    退出原因、迁移结果、窗口类型等。本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。本模块接口
    发表于 12-11 14:48

    鸿蒙原生应用/元服务开发-Stage模型能力接口(四)

    一、说明 AbilityStage是HAP的运行时类。AbilityStage类提供在HAP加载的时候,通知开发者,可以在此进行该HAP的初始化(如资源预加载,线程创建等)能力。 本模块首批接口
    发表于 12-14 15:39

    鸿蒙原生应用/元服务开发-Stage模型能力接口(八)

    一、说明 ExtensionAbility是特定场景扩展能力的基类,提供系统配置更新回调和系统内存调整回调。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采
    发表于 12-20 16:12

    鸿蒙开发接口Ability框架:【AbilityRunningInfo】

    AbilityRunningInfo模块提供对Ability运行的相关信息和状态进行设置和查询的能力
    的头像 发表于 05-17 17:12 148次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>接口</b><b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityRunningInfo】