Contexto de aplicación de desarrollo de tarjeta HarmonyOS/OpenHarmony (modelo Stage) Escenario de uso de contexto 2

3. Cree el contexto de otras aplicaciones u otros módulos.
La clase base Context proporciona un método para crear el contexto de otras aplicaciones u otros módulos: createModuleContext(moduleName:string). Cree el contexto de otras aplicaciones u otros módulos, para Obtenga la información de recursos correspondiente a través del Contexto (por ejemplo, obtenga la información de la ruta de desarrollo de aplicaciones de otros Módulos).
Llame al método createModuleContext(moduleName:string) para obtener el contexto de otros módulos en esta aplicación. Después de obtener el Contexto de otros Módulos, puede obtener la información de recursos del Módulo correspondiente.

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. Cambios en el ciclo de vida de la capacidad dentro del proceso de suscripción.En
el escenario de estadísticas DFX dentro de la aplicación, si necesita contar información como el tiempo de permanencia y la frecuencia de acceso de la página correspondiente, puede utilizar la función de cambio del ciclo de vida de la capacidad dentro del proceso de suscripción. proceso de suscripción.
Cuando el ciclo de vida de la Habilidad cambia en el proceso, como creación, visible/invisible, enfoque/pérdida de enfoque, destrucción, etc., se activará la devolución de llamada correspondiente, en la que se devuelve el ID del ciclo de vida de monitoreo de registro (cada vez la identificación está registrada, aumentará en +1. Cuando se exceda el límite superior de monitoreo, 2 ^ 63-1, devolverá -1). Usémoslo en UIAbilityContext como ejemplo.

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));
        });
    }
}

Supongo que te gusta

Origin blog.csdn.net/weixin_69135651/article/details/132534791
Recomendado
Clasificación