Контекст приложения разработки карты HarmonyOS/OpenHarmony (этапная модель) Сценарий использования контекста 2

3. Создайте контекст других приложений или других модулей.Базовый
класс Context предоставляет метод для создания контекста других приложений или других модулей: createModuleContext(moduleName:string).Создайте контекст других приложений или других модулей, чтобы получить соответствующую информацию о ресурсах через контекст (например, получить информацию о пути разработки приложений других модулей).
Вызовите метод createModuleContext(moduleName:string), чтобы получить контекст других модулей в этом приложении. После получения контекста других модулей вы можете получить информацию о ресурсах соответствующего модуля.

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. Изменения жизненного цикла способностей в процессе подписки
. В сценарии статистики DFX в приложении, если вам необходимо подсчитать такую ​​​​информацию, как время пребывания и частота доступа к соответствующей странице, вы можете использовать функцию изменения жизненного цикла способностей в процесс подписки.
При изменении жизненного цикла Способности в процессе, например, создание, видимость/невидимость, фокус/потеря фокуса, уничтожение и т. д., будет запущен соответствующий обратный вызов, в котором возвращается идентификатор жизненного цикла мониторинга регистрации (каждый раз 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));
        });
    }
}

Guess you like

Origin blog.csdn.net/weixin_69135651/article/details/132534791