HarmonyOS鸿蒙Next中如何主动退出app

HarmonyOS鸿蒙Next中如何主动退出app 如何主动退出app?如何主动退出app?

4 回复

更多关于HarmonyOS鸿蒙Next中如何主动退出app的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


import { common } from '@kit.AbilityKit';

/**
 * The LauncherPage is the entry point of the application and shows how to develop the LauncherPage.
 * Stay on the LauncherPage for a few seconds to jump to the AdvertisingPage.
 * Developers can replace the background image.
 */
@Component
struct Welcome {
  private context?: common.UIAbilityContext;
  onCancel() {
    // Exit the application.
    this.context?.terminateSelf();
  }
}

在HarmonyOS鸿蒙Next中,主动退出应用程序可以通过调用AbilityContextterminateSelf()方法实现。terminateSelf()方法用于终止当前Ability的生命周期,使其进入INITIAL状态,从而实现应用程序的退出。该方法适用于Page Ability和Service Ability。

对于Page Ability,可以在UI线程中直接调用terminateSelf()。例如:

import Ability from '@ohos.application.Ability';

export default class MainAbility extends Ability {
    onWindowStageCreate(windowStage) {
        // 业务逻辑
        this.context.terminateSelf(); // 主动退出应用
    }
}

对于Service Ability,可以在服务逻辑完成后调用terminateSelf()。例如:

import Ability from '@ohos.application.Ability';

export default class MyServiceAbility extends Ability {
    onCommand(want, startId) {
        // 服务逻辑
        this.context.terminateSelf(); // 主动退出服务
    }
}

需要注意的是,terminateSelf()方法仅终止当前Ability,如果应用中有多个Ability,其他Ability仍会继续运行。若要完全退出应用,需确保所有相关的Ability都已调用terminateSelf()

此外,terminateSelf()方法不会影响系统的其他部分,如后台任务或通知服务。开发者应根据具体需求,确保在退出应用前完成必要的资源释放和数据保存操作。

在HarmonyOS鸿蒙Next中,可以通过调用AbilityContextterminateSelf()方法主动退出当前应用。示例代码如下:

import ohos.aafwk.ability.Ability;

public class MainAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        // 其他初始化代码
    }

    private void exitApp() {
        terminateSelf(); // 主动退出应用
    }
}

调用exitApp()方法即可退出当前应用。

回到顶部