鸿蒙开发接口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星河版开发学习文档》  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/12955.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

静态IP代理:网络世界的隐秘通道

在数字化时代&#xff0c;网络安全和隐私保护日益受到重视。静态IP代理作为一种网络服务&#xff0c;为用户提供了一个稳定且可预测的网络连接方式&#xff0c;同时保护了用户的在线身份。本文将从五个方面深入探讨静态IP代理的概念、优势、应用场景、技术实现以及选择时的考量…

C语言学习【printf函数和scanf函数】

C语言学习【printf函数和scanf函数】 printf()函数和scanf()函数可以让用户与程序交流&#xff0c;是输入/输出函数 printf()函数 请求printf()函数打印数据的指令要与待打印数据的类型相匹配。例如&#xff0c;打印整数时使用%d&#xff0c;打印字符时使用%c。这些符号被称…

实战项目技术点(1)

1、什么是REST&#xff1f; REST&#xff08;Representational State Transfer&#xff09;&#xff0c;表述性状态转换&#xff0c;它是一种软件架构风格。传统URL风格如下&#xff1a; http://localhost:8080/user/getById?id1 GET&#xff1a;查询id为1的用户 http://loc…

网络常识一:常用工具

作为后端开发&#xff0c;特别是网络游戏后端开发&#xff0c;经常需要处理各种现网问题&#xff0c;其中有不少是网络相关的。 下面列举的工具主要是在 linux 下的&#xff0c;诊断线上服务器问题的时候&#xff0c;往往是分秒必争&#xff0c;所以这些工具都要用得很熟练&am…

程序在银河麒麟系统下实现开机自启及创建桌面快捷方式

目录 1. 机器环境说明 2. 程序开机自启动设置 2.桌面快捷方式设置 3. 附加说明 1. 机器环境说明 机器安装的银河麒麟操作系统属性如下&#xff1a; 2. 程序开机自启动设置 第1步&#xff1a;编写一个脚本,用于自动化启动&#xff0c;为便于后文描述&#xff0c;该脚本名称…

干货教程【软件篇】| 免费实现游戏加速自由

需要这个游戏加速软件的小伙伴可以关注一下文章底部公众号&#xff0c;回复关键词【zdjs】即可获取。 该软件可以实现免费的游戏加速&#xff0c;实测延迟低体验好&#xff01; 建议看到后赶紧保存下来防止丢失&#xff01; 下面讲一下该软件安装流程~ 通过链接可以得到下面…

2.go语言初始(二)

本篇博客涉及到go 的基础数据类型、 go 语言中的运算符、转义字符、格式化输出、字符串操作 go 语言中的运算符 在 go 语言中&#xff0c;基本数据类型主要包括以下几类&#xff1a;整数类型、浮点数类型、复数类型、布尔类型、字符串类型、字节类型&#xff08;byte&#xf…

Linux进程控制——Linux进程程序替换

前言&#xff1a;Linux进程控制包含了进程终止&#xff0c;进程等待&#xff0c;进程程序替换。走到现在我们也只剩下进程程序替换没介绍了&#xff0c;那么让我们来看看进程程序替换到底是什么&#xff01; 本篇主要内容&#xff1a; 替换原理 替换函数 实现简易shell 我们所创…

【sql】sql中with as 介绍与使用jsqlparser解析sql

文章目录 一. 定义二. 用法三. 解析 一. 定义 with A as (select * from class) 也就是将重复用到的大批量 的SQL语句&#xff0c;放到with as 中&#xff0c;加一个别名&#xff0c;在后面用到的时候就可以直接用。对于大批量的SQL数据&#xff0c;起到优化的作用。 with子句…

Broad Learning System (BLS) 宽度学习系统

宽度学习&#xff08;Broad Learning System, BLS&#xff09;是一种有效的神经网络学习框架&#xff0c;旨在通过扩展网络的宽度而不是深度来提高学习能力和效率。与传统的深度学习相比&#xff0c;宽度学习通过堆叠多层特征节点和增强节点来构建网络&#xff0c;从而避免了深…

oracle 临时表

oracle 临时表 conn scott/tiger --会话内保留行 drop table tmp1; CREATE GLOBAL TEMPORARY TABLE tmp1 ON COMMIT PRESERVE ROWS AS SELECT * FROM emp;SELECT TABLESPACE_NAME,CURRENT_USERS FROM V$SORT_SEGMENT;SELECT * FROM TMP1; INSERT INTO TMP1 SELECT * FROM…

Maven依赖管理项目构建

Maven依赖管理项目构建工具 目录 文章目录 Maven依赖管理项目构建工具目录一、Maven简介1、为什么学习Maven1.1、Maven是一个依赖管理工具1.2、Maven是一个构建工具1.3、结论 2. Maven介绍3. Maven软件工作原理模型图&#xff08;了解&#xff09; 二、Maven安装和配置1. Mave…

PostgreSQL扩展之PGroonga:多语言全文搜索

简介 PGroonga 是一个 PostgreSQL 扩展&#xff0c;它增加了基于 Groonga 的全文搜索索引方法。虽然原生的 PostgreSQL 支持全文索引&#xff0c;但它仅限于基于字母和数字的语言。PGroonga 提供了更广泛的字符支持&#xff0c;使其成为 PostgreSQL 支持的语言的超集&#xff…

(实测验证)Gitee代码托管尝试(一)——克隆/下载

一、登录 Gitee&#xff08;码云&#xff09;代码托管平台&#xff1a; Gitee - 基于 Git 的代码托管和研发协作平台 新建个人账户如下&#xff1a; 二、SSH 公钥设置 1、在git安装目录打开“git-cmd.exe”; 2、通过命令 ssh-keygen 生成 SSH Key&#xff1a; ssh-keygen …

Linux进程概念总结

这里总结下Linux进程概念总结❗ 冯诺依曼&#xff1a; CPU 运算器与控制器RAM 内存&#xff08;存储器&#xff09;Cache 缓存&#xff08;一种技术&#xff09;不属于冯诺依曼体系结构。ROM 磁盘&#xff08;输入输出设备&#xff09;磁盘 既可以从硬盘读取数据也可以向硬盘…

3-3 基于RYU的流量风暴事件原理与响应策略

在传统网络中&#xff0c;存在着一定的广播流量&#xff0c;占据了一部分的网络带宽。同时&#xff0c;在有环的拓扑中&#xff0c;如果不运行某些协议&#xff0c;广播数据还会引起网络风暴&#xff0c;使网络瘫痪。 如有以下的一个网络拓扑结构&#xff08;3_2_topoplus.py) …

零基础学Java第十四天之枚举

枚举 1、理解 枚举&#xff08;Enumeration&#xff0c;通常简写为enum&#xff09;在编程语言中是一种特殊的数据类型&#xff0c;它允许你为变量定义一组命名的常量。这些常量通常表示一组有限的值&#xff0c;比如一周的七天、颜色的集合或者状态的集合等。枚举类型的主要目…

es 分词器(五)之elasticsearch-analysis-jieba 8.7.0

es 分词器&#xff08;五&#xff09;之elasticsearch-analysis-jieba 8.7.0 今天咱们就来讲一下es jieba 8.7.0 分词器的实现&#xff0c;以及8.x其它版本的实现方式&#xff0c;如果想直接使用es 结巴8.x版本&#xff0c;请直接修改pom文件的elasticsearch.version版本号即可…

再谈毕业论文设计投机取巧之IVR自动语音服务系统设计(信息与通信工程专业A+其实不难)

目录 举个IVR例子格局打开&#xff0c;万物皆能IVR - 把《民法典》搬上IVR IVR系统其实可盐可甜。还能可圈可点。 戎马一生&#xff0c;归来依然IVR。 举个IVR例子 以下是IVR系统的一个例子。 当您拨打电话进入IVR系统。 首先检验是否为工作时间。 如是&#xff0c;您将被送入…

基于51单片机的自动浇花器电路

一、系统概述 自动浇水灌溉系统设计方案&#xff0c;以AT89C51单片机为控制核心&#xff0c;采用模块化的设计方法。 组成部分为&#xff1a;5V供电模块、土壤湿度传感器模块、ADC0832模数转换模块、水泵控制模块、按键输入模块、LCD显示模块和声光报警模块&#xff0c;结构如…