HarmonyOS实战开发:@ohos.app.ability.UIExtensionContentSession (带界面扩展能力界面操作类)

UIExtensionContentSession是UIExtensionAbility加载界面内容时创建的实例对象,当UIExtensionComponent控件拉起指定的UIExtensionAbility时,UIExtensionAbility会创建UIExtensionContentSession对象,并通过onSessionCreate回调传递给开发者。一个UIExtensionComponent控件对应一个UIExtensionContentSession对象,提供界面加载,结果通知等方法。每个UIExtensionAbility的UIExtensionContentSession之间互不影响,可以各自进行操作。

说明:

本模块首批接口从API version 10 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。

导入模块

import UIExtensionContentSession from '@ohos.app.ability.UIExtensionContentSession';

UIExtensionContentSession.sendData

sendData(data: { [key: string]: Object }): void

发送数据给UIExtensionComponent控件。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
data{[key: string]: Object}发送给UIExtensionComponent控件的数据参数。

错误码:

错误码ID错误信息
16000050Internal error.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.setReceiveDataCallback

setReceiveDataCallback(callback: (data: { [key: string]: Object }) => void): void

设置从UIExtensionComponent控件接收数据的回调方法。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
callback(data: { [key: string]: Object }) => void接收数据的回调方法。

错误码:

错误码ID错误信息
16000050Internal error.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.loadContent

loadContent(path: string, storage?: LocalStorage): void;

为当前UIExtensionComponent控件对应的窗口加载与LocalStorage相关联的具体页面内容。

系统能力: SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
pathstring设置加载页面的路径。
storageLocalStorage存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。默认为空。

错误码:

错误码ID错误信息
16000050Internal error.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.startAbility

startAbility(want: Want, callback: AsyncCallback<void>): void;

启动Ability(callback形式)。

使用规则:

  • 对应UIExtensionComponent控件所在的应用需要处于前台获焦状态。
  • 调用方应用位于后台时,使用该接口启动Ability需申请权限。ohos.permission.START_ABILITIES_FROM_BACKGROUND
  • 跨应用场景下,目标Ability的exported属性若配置为false,调用方应用需申请权限。ohos.permission.START_INVISIBLE_ABILITY
  • 组件启动规则详见:组件启动规则(Stage模型)

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
callbackAsyncCallback<void>callback形式返回启动结果。

错误码:

错误码ID错误信息
16000001The specified ability does not exist.
16000002Incorrect ability type.
16000004Can not start invisible component.
16000005The specified process does not have the permission.
16000006Cross-user operations are not allowed.
16000008The crowdtesting application expires.
16000009An ability cannot be started or stopped in Wukong mode.
16000010The call with the continuation flag is forbidden.
16000011The context does not exist.
16000012The application is controlled.
16000013The application is controlled by EDM.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000055Installation-free timed out.
16200001The caller has been released.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.startAbility

startAbility(want: Want, options: StartOptions, callback: AsyncCallback<void>): void;

启动Ability(callback形式)。

使用规则:

  • 对应UIExtensionComponent控件所在的应用需要处于前台获焦状态。
  • 调用方应用位于后台时,使用该接口启动Ability需申请权限。ohos.permission.START_ABILITIES_FROM_BACKGROUND
  • 跨应用场景下,目标Ability的exported属性若配置为false,调用方应用需申请权限。ohos.permission.START_INVISIBLE_ABILITY
  • 组件启动规则详见:组件启动规则(Stage模型)

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。
callbackAsyncCallback<void>callback形式返回启动结果。

错误码:

错误码ID错误信息
16000001The specified ability does not exist.
16000004Can not start invisible component.
16000005The specified process does not have the permission.
16000006Cross-user operations are not allowed.
16000008The crowdtesting application expires.
16000009An ability cannot be started or stopped in Wukong mode.
16000011The context does not exist.
16000012The application is controlled.
16000013The application is controlled by EDM.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000055Installation-free timed out.
16200001The caller has been released.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.startAbility

startAbility(want: Want, options?: StartOptions): Promise<void>;

启动Ability(promise形式)。

使用规则:

  • 对应UIExtensionComponent控件所在的应用需要处于前台获焦状态。
  • 调用方应用位于后台时,使用该接口启动Ability需申请权限。ohos.permission.START_ABILITIES_FROM_BACKGROUND
  • 跨应用场景下,目标Ability的exported属性若配置为false,调用方应用需申请权限。ohos.permission.START_INVISIBLE_ABILITY
  • 组件启动规则详见:组件启动规则(Stage模型)

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。

返回值:

类型说明
Promise<void>Promise形式返回启动结果。

错误码:

错误码ID错误信息
16000001The specified ability does not exist.
16000002Incorrect ability type.
16000004Can not start invisible component.
16000005The specified process does not have the permission.
16000006Cross-user operations are not allowed.
16000008The crowdtesting application expires.
16000009An ability cannot be started or stopped in Wukong mode.
16000010The call with the continuation flag is forbidden.
16000011The context does not exist.
16000012The application is controlled.
16000013The application is controlled by EDM.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000055Installation-free timed out.
16200001The caller has been released.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.startAbilityForResult

startAbilityForResult(want: Want, callback: AsyncCallback<AbilityResult>): void;

启动一个Ability,在Ability终止后返回结果给调用方(callback形式)。Ability的终止方式包括以下几种情况:

  • 正常情况下可通过调用terminateSelfWithResult接口使之终止并且返回结果给调用方。
  • 异常情况下比如杀死Ability会返回异常信息给调用方, 异常信息中resultCode为-1。
  • 如果被启动的Ability模式是单实例模式, 不同应用多次调用该接口启动这个Ability,当这个Ability调用terminateSelfWithResult接口使之终止时,只将正常结果返回给最后一个调用方, 其它调用方返回异常信息, 异常信息中resultCode为-1。

使用规则:

  • 对应UIExtensionComponent控件所在的应用需要处于前台获焦状态。
  • 调用方应用位于后台时,使用该接口启动Ability需申请权限。ohos.permission.START_ABILITIES_FROM_BACKGROUND
  • 跨应用场景下,目标Ability的exported属性若配置为false,调用方应用需申请权限。ohos.permission.START_INVISIBLE_ABILITY
  • 组件启动规则详见:组件启动规则(Stage模型)

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
callbackAsyncCallback<AbilityResult>执行结果回调函数。

错误码:

错误码ID错误信息
16000001The specified ability does not exist.
16000002Incorrect ability type.
16000004Can not start invisible component.
16000005The specified process does not have the permission.
16000006Cross-user operations are not allowed.
16000008The crowdtesting application expires.
16000009An ability cannot be started or stopped in Wukong mode.
16000010The call with the continuation flag is forbidden.
16000011The context does not exist.
16000012The application is controlled.
16000013The application is controlled by EDM.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000055Installation-free timed out.
16200001The caller has been released.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.startAbilityForResult

startAbilityForResult(want: Want, options: StartOptions, callback: AsyncCallback<AbilityResult>): void;

启动一个Ability,在Ability终止后返回结果给调用方(callback形式)。Ability的终止方式包括以下几种情况:

  • 正常情况下可通过调用terminateSelfWithResult接口使之终止并且返回结果给调用方。
  • 异常情况下比如杀死Ability会返回异常信息给调用方,异常信息中resultCode为-1。
  • 如果被启动的Ability模式是单实例模式, 不同应用多次调用该接口启动这个Ability,当这个Ability调用terminateSelfWithResult接口使之终止时,只将正常结果返回给最后一个调用方,其它调用方返回异常信息, 异常信息中resultCode为-1。

使用规则:

  • 对应UIExtensionComponent控件所在的应用需要处于前台获焦状态。
  • 调用方应用位于后台时,使用该接口启动Ability需申请权限。ohos.permission.START_ABILITIES_FROM_BACKGROUND
  • 跨应用场景下,目标Ability的exported属性若配置为false,调用方应用需申请权限。ohos.permission.START_INVISIBLE_ABILITY
  • 组件启动规则详见:组件启动规则(Stage模型)

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。
callbackAsyncCallback<AbilityResult>执行结果回调函数。

错误码:

错误码ID错误信息
16000001The specified ability does not exist.
16000004Can not start invisible component.
16000005The specified process does not have the permission.
16000006Cross-user operations are not allowed.
16000008The crowdtesting application expires.
16000009An ability cannot be started or stopped in Wukong mode.
16000011The context does not exist.
16000012The application is controlled.
16000013The application is controlled by EDM.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000055Installation-free timed out.
16200001The caller has been released.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.startAbilityForResult

startAbilityForResult(want: Want, options?: StartOptions): Promise<AbilityResult>;

启动一个Ability,在Ability终止后返回结果给调用方(promise形式)。Ability的终止方式包括以下几种情况:

  • 正常情况下可通过调用terminateSelfWithResult接口使之终止并且返回结果给调用方。
  • 异常情况下比如杀死Ability会返回异常信息给调用方, 异常信息中resultCode为-1。
  • 如果被启动的Ability模式是单实例模式, 不同应用多次调用该接口启动这个Ability,当这个Ability调用terminateSelfWithResult接口使之终止时,只将正常结果返回给最后一个调用方, 其它调用方返回异常信息, 异常信息中resultCode为-1。

使用规则:

  • 对应UIExtensionComponent控件所在的应用需要处于前台获焦状态。
  • 调用方应用位于后台时,使用该接口启动Ability需申请权限。ohos.permission.START_ABILITIES_FROM_BACKGROUND
  • 跨应用场景下,目标Ability的exported属性若配置为false,调用方应用需申请权限。ohos.permission.START_INVISIBLE_ABILITY
  • 组件启动规则详见:组件启动规则(Stage模型)

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wantWant启动Ability的want信息。
optionsStartOptions启动Ability所携带的参数。

返回值:

类型说明
Promise<AbilityResult>Promise形式返回执行结果。

错误码:

错误码ID错误信息
16000001The specified ability does not exist.
16000002Incorrect ability type.
16000004Can not start invisible component.
16000005The specified process does not have the permission.
16000006Cross-user operations are not allowed.
16000008The crowdtesting application expires.
16000009An ability cannot be started or stopped in Wukong mode.
16000010The call with the continuation flag is forbidden.
16000011The context does not exist.
16000012The application is controlled.
16000013The application is controlled by EDM.
16000050Internal error.
16000053The ability is not on the top of the UI.
16000055Installation-free timed out.
16200001The caller has been released.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.terminateSelf

terminateSelf(callback: AsyncCallback<void>): void;

停止UIExtensionContentSession对应的窗口界面对象(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
callbackAsyncCallback<void>停止UIExtensionContentSession对应的窗口界面对象的回调函数。

UIExtensionContentSession.terminateSelf

terminateSelf(): Promise<void>;

停止UIExtensionContentSession对应的窗口界面对象(promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

返回值:

类型说明
Promise<void>promise形式返回停止UIExtensionContentSession对应的窗口界面对象。

UIExtensionContentSession.terminateSelfWithResult

terminateSelfWithResult(parameter: AbilityResult, callback: AsyncCallback<void>): void;

停止UIExtensionContentSession对应的窗口界面对象,并将结果返回给UIExtensionComponent控件(callback形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
parameterAbilityResult返回给UIExtensionComponent控件的信息。
callbackAsyncCallback<void>callback形式返回停止结果。

UIExtensionContentSession.terminateSelfWithResult

terminateSelfWithResult(parameter: AbilityResult): Promise<void>;

停止UIExtensionContentSession对应的窗口界面对象,并将结果返回给UIExtensionComponent控件(promise形式)。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

参数:

参数名类型必填说明
parameterAbilityResult返回给UIExtensionComponent控件的信息。

返回值:

类型说明
Promise<void>promise形式返回停止结果。

UIExtensionContentSession.setWindowBackgroundColor

setWindowBackgroundColor(color: string): void

设置UIExtensionAbility加载界面的背景色。该接口需要在loadContent()调用生效后使用。

系统能力:SystemCapability.Ability.AbilityRuntime.Core

系统API:此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
colorstring需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如或。#00FF00#FF00FF00

错误码:

错误码ID错误信息
16000050Internal error.

错误码详细介绍请参考元能力子系统错误码

UIExtensionContentSession.setWindowPrivacyMode

setWindowPrivacyMode(isPrivacyMode: boolean): Promise<void>

设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。

系统能力: SystemCapability.Ability.AbilityRuntime.Core

需要权限: ohos.permission.PRIVACY_WINDOW

参数:

参数名类型必填说明
isPrivacyModeboolean窗口是否为隐私模式。true表示模式开启;false表示模式关闭。

返回值:

类型说明
Promise<void>无返回结果的Promise对象。

UIExtensionContentSession.setWindowPrivacyMode

setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void

设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。

系统能力: SystemCapability.Ability.AbilityRuntime.Core

需要权限: ohos.permission.PRIVACY_WINDOW

参数:

参数名类型必填说明
isPrivacyModeboolean窗口是否为隐私模式。true表示模式开启;false表示模式关闭。
callbackAsyncCallback<void>回调函数。

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值