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

2024-05-15 22:04

本文主要是介绍鸿蒙开发接口Ability框架:【ApplicationContext】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 ApplicationContext

ApplicationContext模块提供开发者应用级别的的上下文的能力,包括提供注册及取消注册应用内组件生命周期的监听接口。

说明:
开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。

使用说明

在使用ApplicationContext的功能前,需要通过context的实例获取。

let applicationContext = this.context.getApplicationContext();

ApplicationContext.registerAbilityLifecycleCallback

registerAbilityLifecycleCallback(callback: AbilityLifecycleCallback): number;

注册监听应用内生命周期

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

参数:

参数名类型必填说明
AbilityLifecycleCallbackcallback回调方法,返回注册监听事件的id

返回值:

类型说明
number返回的此次注册监听生命周期的id(每次注册该id会自增+1,当超过监听上限数量2^63-1时,返回-1)

示例:

import AbilityStage from "@ohos.application.AbilityStage";var lifecycleid;export default class MyAbilityStage extends AbilityStage {onCreate() {console.log("MyAbilityStage onCreate")let AbilityLifecycleCallback  =  {onAbilityCreate(ability){console.log("AbilityLifecycleCallback onAbilityCreate ability:" + JSON.stringify(ability));        },onAbilityWindowStageCreate(ability){console.log("AbilityLifecycleCallback onAbilityWindowStageCreate ability:" + JSON.stringify(ability));           },onAbilityWindowStageDestroy(ability){console.log("AbilityLifecycleCallback onAbilityWindowStageDestroy ability:" + JSON.stringify(ability));},onAbilityDestroy(ability){console.log("AbilityLifecycleCallback onAbilityDestroy ability:" + JSON.stringify(ability));             },onAbilityForeground(ability){console.log("AbilityLifecycleCallback onAbilityForeground ability:" + JSON.stringify(ability));             },onAbilityBackground(ability){console.log("AbilityLifecycleCallback onAbilityBackground ability:" + JSON.stringify(ability));              },onAbilityContinue(ability){console.log("AbilityLifecycleCallback onAbilityContinue ability:" + JSON.stringify(ability));}}// 1.通过context属性获取applicationContextlet applicationContext = this.context.getApplicationContext();// 2.通过applicationContext注册监听应用内生命周期lifecycleid = applicationContext.registerAbilityLifecycleCallback(AbilityLifecycleCallback);console.log("registerAbilityLifecycleCallback number: " + JSON.stringify(lifecycleid));       }onDestroy() {let applicationContext = this.context.getApplicationContext();applicationContext.unregisterAbilityLifecycleCallback(lifecycleid, (error, data) => {console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));});}
}

ApplicationContext.unregisterAbilityLifecycleCallback

unregisterAbilityLifecycleCallback(callbackId: number, callback: AsyncCallback<void>): void;

取消监听应用内生命周期

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

参数:

参数名类型必填说明
callbackIdnumber注册监听应用内生命周期的id
AsyncCallbackcallback回调方法HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

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

示例:

let applicationContext = this.context.getApplicationContext();
let lifecycleid=1
console.log("stage applicationContext: " + JSON.stringify(applicationContext));
applicationContext.unregisterAbilityLifecycleCallback(lifecycleid, (error, data) => {console.log("unregisterAbilityLifecycleCallback success, err: " + JSON.stringify(error));
});

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 

 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》  

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》  

 8、鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》  

这篇关于鸿蒙开发接口Ability框架:【ApplicationContext】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993041

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

利用Go语言开发文件操作工具轻松处理所有文件

《利用Go语言开发文件操作工具轻松处理所有文件》在后端开发中,文件操作是一个非常常见但又容易出错的场景,本文小编要向大家介绍一个强大的Go语言文件操作工具库,它能帮你轻松处理各种文件操作场景... 目录为什么需要这个工具?核心功能详解1. 文件/目录存javascript在性检查2. 批量创建目录3. 文件

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

基于Python开发批量提取Excel图片的小工具

《基于Python开发批量提取Excel图片的小工具》这篇文章主要为大家详细介绍了如何使用Python中的openpyxl库开发一个小工具,可以实现批量提取Excel图片,有需要的小伙伴可以参考一下... 目前有一个需求,就是批量读取当前目录下所有文件夹里的Excel文件,去获取出Excel文件中的图片,并