1/* 2 * Copyright (c) 2022 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15import Ability from '@ohos.app.ability.UIAbility' 16 17var listKey1 = []; 18 19export default class MultiMainability1 extends Ability { 20 onCreate(want, launchParam) { 21 console.log("[Demo] MultiMainability1 onCreate") 22 globalThis.abilityWant1 = want; 23 console.log("[Demo] MultiMainability1 context: " + JSON.stringify(this.context)); 24 let AbilityLifecycleCallback = { 25 onAbilityCreate(ability) { 26 console.log("[Demo] AbilityLifecycleCallback1 onAbilityCreate ability:" 27 + JSON.stringify(ability)); 28 let abilityname = ability.context.abilityInfo.name; 29 console.log("[Demo] AbilityLifecycleCallback1 onAbilityCreate abilityname:" 30 + JSON.stringify(abilityname)); 31 console.log("[Demo] " + abilityname + " onAbilityCreate"); 32 listKey1.push(abilityname + " onAbilityCreate"); 33 console.log("[Demo] 1listKey1:" + JSON.stringify(listKey1)); 34 }, 35 onWindowStageCreate(ability, windowStage) { 36 console.log("[Demo] AbilityLifecycleCallback1 onWindowStageCreate ability:" 37 + JSON.stringify(ability)); 38 let abilityname = ability.context.abilityInfo.name; 39 console.log("[Demo] AbilityLifecycleCallback1 onWindowStageCreate abilityname:" 40 + JSON.stringify(abilityname)); 41 console.log("[Demo] " + abilityname + " onWindowStageCreate"); 42 listKey1.push(abilityname + " onWindowStageCreate"); 43 console.log("[Demo] 2listKey1:" + JSON.stringify(listKey1)); 44 }, 45 onWindowStageActive(ability, windowStage) { 46 let abilityname = ability.context.abilityInfo.name; 47 console.log(abilityname + " onWindowStageActive") 48 }, 49 onWindowStageInactive(ability, windowStage) { 50 let abilityname = ability.context.abilityInfo.name; 51 console.log(abilityname + " onWindowStageInactive") 52 }, 53 onWindowStageDestroy(ability, windowStage) { 54 console.log("[Demo] AbilityLifecycleCallback1 onWindowStageDestroy ability:" 55 + JSON.stringify(ability)); 56 let abilityname = ability.context.abilityInfo.name; 57 listKey1.push(abilityname + " onWindowStageDestroy"); 58 console.log("[Demo] 3listKey1:" + JSON.stringify(listKey1)); 59 }, 60 onAbilityDestroy(ability) { 61 console.log("[Demo] AbilityLifecycleCallback1 onAbilityDestroy ability:" 62 + JSON.stringify(ability)); 63 let abilityname = ability.context.abilityInfo.name; 64 console.log("[Demo] AbilityLifecycleCallback1 onAbilityDestroy abilityname:" 65 + JSON.stringify(abilityname)); 66 console.log("[Demo] " + abilityname + " onAbilityDestroy"); 67 listKey1.push(abilityname + " onAbilityDestroy"); 68 console.log("[Demo] 4listKey1:" + JSON.stringify(listKey1)); 69 }, 70 onAbilityForeground(ability) { 71 console.log("[Demo] AbilityLifecycleCallback1 onAbilityForeground ability:" 72 + JSON.stringify(ability)); 73 let abilityname = ability.context.abilityInfo.name; 74 console.log("[Demo] AbilityLifecycleCallback1 onAbilityForeground abilityname:" 75 + JSON.stringify(abilityname)); 76 console.log("[Demo] " + abilityname + " onAbilityForeground"); 77 listKey1.push(abilityname + " onAbilityForeground"); 78 console.log("[Demo] 5listKey1:" + JSON.stringify(listKey1)); 79 }, 80 onAbilityBackground(ability) { 81 console.log("[Demo] AbilityLifecycleCallback1 onAbilityBackground ability:" 82 + JSON.stringify(ability)); 83 let abilityname = ability.context.abilityInfo.name; 84 console.log("[Demo] AbilityLifecycleCallback1 onAbilityBackground abilityname:" 85 + JSON.stringify(abilityname)); 86 console.log("[Demo] " + abilityname + " onAbilityBackground"); 87 listKey1.push(abilityname + " onAbilityBackground"); 88 console.log("[Demo] 6listKey1:" + JSON.stringify(listKey1)); 89 }, 90 onAbilityContinue(ability) { 91 console.log("[Demo] AbilityLifecycleCallback1 onAbilityContinue ability:" 92 + JSON.stringify(ability)); 93 let abilityname = ability.context.abilityInfo.name; 94 console.log("[Demo] AbilityLifecycleCallback1 onAbilityContinue abilityname:" 95 + JSON.stringify(abilityname)); 96 console.log("[Demo] " + abilityname + " onAbilityContinue"); 97 listKey1.push(abilityname + " onAbilityContinue"); 98 console.log("[Demo] 7listKey1:" + JSON.stringify(listKey1)); 99 } 100 } 101 globalThis.applicationContext1 = this.context.getApplicationContext(); 102 let lifecycleid = globalThis.applicationContext1.on('abilityLifecycle', AbilityLifecycleCallback); 103 console.log("[Demo] registerAbilityLifecycleCallback1 number: " + JSON.stringify(lifecycleid)); 104 setTimeout(function () { 105 console.log("[Demo] registerAbilityLifecycleCallback1 listKey: " + JSON.stringify(listKey1)); 106 globalThis.mlist1 = listKey1; 107 globalThis.mCallbackid1 = lifecycleid; 108 }, 1000); 109 } 110 111 onDestroy() { 112 console.log("[Demo] MultiMainability1 onDestroy") 113 } 114 115 onWindowStageCreate(windowStage) { 116 // Main window is created, set main page for this ability 117 console.log("[Demo] MultiMainability1 onWindowStageCreate") 118 globalThis.ability1context = this.context; 119 120 windowStage.loadContent('testability/pages/index1', (err, data) => { 121 if (err.code) { 122 console.log('MultiMainability1 loadContent error'); 123 return; 124 } 125 console.log('MultiMainability1 loadContent success'); 126 }); 127 } 128 129 onWindowStageDestroy() { 130 // Main window is destroyed, release UI related resources 131 console.log("[Demo] MultiMainability1 onWindowStageDestroy") 132 } 133 134 onForeground() { 135 // Ability has brought to foreground 136 console.log("[Demo] MultiMainability1 onForeground") 137 } 138 139 onBackground() { 140 // Ability has back to background 141 console.log("[Demo] MultiMainability1 onBackground") 142 } 143}; 144