赞
踩
3.创建其他应用或其他Module的Context
基类Context提供创建其他应用或其他Module的Context的方法为createModuleContext(moduleName:string),创建其他应用或者其他Module的Context,从而通过该Context获取相应的资源信息(例如获取其他Module的获取应用开发路径信息)。
调用createModuleContext(moduleName:string)方法,获取本应用中其他Module的Context。获取到其他Module的Context之后,即可获取到相应Module的资源信息。
- import UIAbility from '@ohos.app.ability.UIAbility';
-
- export default class EntryAbility extends UIAbility {
- onCreate(want, launchParam) {
- let moduleName2 = "module1";
- let context2 = this.context.createModuleContext(moduleName2);
- // ...
- }
- }
4.订阅进程内Ability生命周期变化
在应用内的DFX统计场景,如需要统计对应页面停留时间和访问频率等信息,可以使用订阅进程内Ability生命周期变化功能。
在进程内Ability生命周期变化时,如创建、可见/不可见、获焦/失焦、销毁等,会触发进入相应的回调,其中返回的此次注册监听生命周期的ID(每次注册该ID会自增+1,当超过监听上限数量2^63-1时,返回-1),以在UIAbilityContext中使用为例进行说明。
- import UIAbility from '@ohos.app.ability.UIAbility';
- import Window from '@ohos.window';
-
- const TAG: string = "[Example].[Entry].[EntryAbility]";
-
- export default class EntryAbility extends UIAbility {
- lifecycleId: number;
-
- onCreate(want, launchParam) {
- let abilityLifecycleCallback = {
- onAbilityCreate(ability) {
- console.info(TAG, "onAbilityCreate ability:" + JSON.stringify(ability));
- },
- onWindowStageCreate(ability, windowStage) {
- console.info(TAG, "onWindowStageCreate ability:" + JSON.stringify(ability));
- console.info(TAG, "onWindowStageCreate windowStage:" + JSON.stringify(windowStage));
- },
- onWindowStageActive(ability, windowStage) {
- console.info(TAG, "onWindowStageActive ability:" + JSON.stringify(ability));
- console.info(TAG, "onWindowStageActive windowStage:" + JSON.stringify(windowStage));
- },
- onWindowStageInactive(ability, windowStage) {
- console.info(TAG, "onWindowStageInactive ability:" + JSON.stringify(ability));
- console.info(TAG, "onWindowStageInactive windowStage:" + JSON.stringify(windowStage));
- },
- onWindowStageDestroy(ability, windowStage) {
- console.info(TAG, "onWindowStageDestroy ability:" + JSON.stringify(ability));
- console.info(TAG, "onWindowStageDestroy windowStage:" + JSON.stringify(windowStage));
- },
- onAbilityDestroy(ability) {
- console.info(TAG, "onAbilityDestroy ability:" + JSON.stringify(ability));
- },
- onAbilityForeground(ability) {
- console.info(TAG, "onAbilityForeground ability:" + JSON.stringify(ability));
- },
- onAbilityBackground(ability) {
- console.info(TAG, "onAbilityBackground ability:" + JSON.stringify(ability));
- },
- onAbilityContinue(ability) {
- console.info(TAG, "onAbilityContinue ability:" + JSON.stringify(ability));
- }
- }
- // 1. 通过context属性获取applicationContext
- let applicationContext = this.context.getApplicationContext();
- // 2. 通过applicationContext注册监听应用内生命周期
- this.lifecycleId = applicationContext.on("abilityLifecycle", abilityLifecycleCallback);
- console.info(TAG, "register callback number: " + JSON.stringify(this.lifecycleId));
- }
-
- onDestroy() {
- let applicationContext = this.context.getApplicationContext();
- applicationContext.off("abilityLifecycle", this.lifecycleId, (error, data) => {
- console.info(TAG, "unregister callback success, err: " + JSON.stringify(error));
- });
- }
- }

Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。