1import Ability from '@ohos.app.ability.UIAbility' 2import Window from '@ohos.window' 3 4import HiLog from "../utils/HiLog"; 5import MmsPreferences from "../utils/MmsPreferences"; 6import WorkFactory, { WorkerType } from "../workers/WorkFactory"; 7import simCardService from "../service/SimCardService"; 8 9const TAG = "app"; 10 11export default class MainAbility extends Ability { 12 onCreate(want, launchParam) { 13 HiLog.i(TAG, "Ability onCreate com.ohos.mms version: 1.0.0.41"); 14 globalThis.mmsContext = this.context; 15 globalThis.abilityWant = want; 16 globalThis.needToUpdate = true; 17 MmsPreferences.getInstance().initPreferences(); 18 globalThis.DataWorker = WorkFactory.getWorker(WorkerType.DataWorker); 19 } 20 21 onNewWant(want, launchParam) { 22 HiLog.i(TAG, 'Application onNewWant'); 23 globalThis.abilityWant = want; 24 } 25 26 onWindowStageCreate(windowStage: Window.WindowStage) { 27 // Main window is created, set main page for this ability 28 windowStage.loadContent('pages/index', (err, data) => { 29 if (err.code) { 30 HiLog.e(TAG, 'testTag', 'Failed to load the content.'); 31 return; 32 } 33 HiLog.i(TAG, 'testTag', 'Succeeded in loading the content. Data: %{public}s'); 34 }); 35 } 36 37 onWindowStageDestroy() { 38 // Main window is destroyed, release UI related resources 39 HiLog.i(TAG, 'Ability onWindowStageDestroy'); 40 } 41 42 onForeground() { 43 // Ability has brought to foreground 44 HiLog.i(TAG, 'Ability onForeground'); 45 simCardService.init(); 46 } 47 48 onBackground() { 49 // Ability has back to background 50 HiLog.i(TAG, 'Ability onBackground'); 51 simCardService.deInit(); 52 } 53 54 onDestroy() { 55 HiLog.i(TAG, 'Ability onDestroy'); 56 globalThis.DataWorker.close(); 57 } 58} 59