鸿蒙Ability Kit(程序框架服务)【ExtensionAbility组件】

打印 上一主题 下一主题

主题 527|帖子 527|积分 1581

ExtensionAbility组件

ExtensionAbility组件是基于特定场景(比方服务卡片、输入法等)提供的应用组件,以便满足更多的使用场景。
每一个具体场景对应一个[ExtensionAbilityType],开发者只能使用(包括实现和访问)体系已定义的范例。各范例的ExtensionAbility组件均由相应的体系服务同一管理,比方InputMethodExtensionAbility组件由输入法管理服务同一管理。
当前体系已定义的ExtensionAbility范比方下表所示。
   阐明:
开发前请认识鸿蒙开发引导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击大概复制转到。
  

  • “是否允许三方应用实现”是指:对于一类ExtensionAbility,三方应用能否继续该ExtensionAbility父类实现本身的业务逻辑。
  • “是否允许三方应用访问”是指:有些ExtensionAbility会对外提供一些服务,这些ExtensionAbility可能允许三方访问,也可能不允许。“Y”表示允许,“N”表示不允许,“NA”表示不涉及对外服务。
  • “是否有独立Extension沙箱”是指:已经开发Extension都是和主应用共沙箱运行,API12及其之后新增Extension默认独立沙箱运行,输入法Extesnion由于安全机制管控改为独立沙箱运行。
  • “启动Extension通报共享数据是否严格模式访问”是指:共享数据可通过配置应用的[data-group-ids]和ExtensionAbility的[dataGroupIds]实现。严格模式访问表示只读,非严格模式访问表示可以读写。“Y”表示严格模式访问共享数据,即只能读取共享数据,“N”表示非严格模式访问共享数据,即可以读写共享数据。
  对于体系应用,不受下表约束,允许实现体系已定义的各类ExtensionAbility,也允许访问提供的各类对外服务。
已支持ExtensionAbility范例功能形貌是否允许三方应用实现是否允许三方应用访问是否有独立Extension沙箱启动Extension通报共享数据是否严格模式访问[FormExtensionAbility]FORM范例的ExtensionAbility组件,用于提供[服务卡片]的相干能力。YNNN[WorkSchedulerExtensionAbility]WORK_SCHEDULER范例的ExtensionAbility组件,用于提供[延迟使命]的相干能力。YNANN[InputMethodExtensionAbility]INPUT_METHOD范例的ExtensionAbility组件,用于实现[输入法应用]的开发。YYY开发者在输入法管理中启用完团体验模式,即开启非严格模式,可读写共享数据;不启用完团体验模式,默认为严格模式,只能读取共享数据。[AccessibilityExtensionAbility]ACCESSIBILITY范例的ExtensionAbility组件,用于实现[无障碍扩展服务]的开发。YNANN[BackupExtensionAbility]BACKUP范例的ExtensionAbility组件,用于提供[备份及恢复应用数据]的能力。YNANN[DriverExtensionAbility]DRIVER范例的ExtensionAbility组件,用于提供[驱动相干扩展框架]。YYNN[EmbeddedUIExtensionAbility]EMBEDDED_UI范例的ExtensionAbility组件,用于提供[跨历程界面嵌入]的能力。YYNN HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

访问指定范例的ExtensionAbility组件

所有范例的ExtensionAbility组件均不能被应用直接启动,而是由相应的体系管理服务拉起,以确保其生命周期受体系管控,使用时拉起,使用完烧毁。ExtensionAbility组件的调用方无需关心目的ExtensionAbility组件的生命周期。
以[InputMethodExtensionAbility]组件为例进行阐明,如下图所示,调用方应用发起对InputMethodExtensionAbility组件的调用,此时将先调用输入法管理服务,由输入法管理服务拉起[InputMethodExtensionAbility]组件,返回给调用方,同时开始管理其生命周期。
图1 使用InputMethodExtensionAbility组件 

实现指定范例的ExtensionAbility组件

以实现卡片[FormExtensionAbility]为例进行阐明。卡片框架提供了[FormExtensionAbility]基类,开发者通过派生此基类(如MyFormExtensionAbility),实现回调(如创建卡片的onCreate()回调、更新卡片的onUpdateForm()回调等)来实现具体卡片功能,具体见开发引导见[服务卡片]。
卡片FormExtensionAbility实现方不用关心使用方何时去哀求添加、删除卡片,FormExtensionAbility实例及其地点的ExtensionAbility历程的整个生命周期,都是由卡片管理体系服务FormManagerService进行调度管理。 

   阐明:  同一应用内的所有同范例的ExtensionAbility运行在同一独立历程(除ServiceExtensionAbility、DataShareExtensionAbility外),跟UIAbility组件不在同一历程,Stage模型的历程模型请参见[历程模型]。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

玛卡巴卡的卡巴卡玛

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表