鴻蒙開發接口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.pswp.cn/web/12955.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/12955.shtml
英文地址,請注明出處:http://en.pswp.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;結構如…