Index.ets:实现应用退至后台及销毁应用逻辑。
import { common } from '@kit.AbilityKit';
@Entry
@Component
struct Index {
build() {
Column({ space: 16 }) {
Button('退至后台')
.onClick(() => {
// 获取Context
let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
// 通过Context获取windowStage
let windowStage = context.windowStage;
// 通过windowStage获取主窗口
let mainWindow = windowStage.getMainWindowSync();
// 将主窗口最小化
mainWindow.minimize();
});
Button('销毁应用')
.onClick(() => {
// 获取Context
let context = this.getUIContext().getHostContext() as common.UIAbilityContext;
// 通过Context获取销毁应用
context.terminateSelf()
.then(() => {
// 执行正常业务
console.info('terminateSelf succeed');
})
.catch((err: BusinessError) => {
// 处理业务逻辑错误
console.error(`terminateSelf failed, code is ${err.code}, message is ${err.message}`);
});
});
}
.width('100%')
.height('100%')
.justifyContent(FlexAlign.Center);
}
} module.json5:将removeMissionAfterTerminate字段取值配置为true。
"abilities": [
{
// 清除销毁应用快照
"removeMissionAfterTerminate": true,
"name": "EntryAbility",
"srcEntry": "./ets/entryability/EntryAbility.ets",
"description": "$string:EntryAbility_desc",
"icon": "$media:layered_image",
"label": "$string:EntryAbility_label",
"startWindowIcon": "$media:startIcon",
"startWindowBackground": "$color:start_window_background",
"exported": true,
"skills": [
{
"entities": [
"entity.system.home"
],
"actions": [
"ohos.want.action.home"
]
}
]
}
],