1/* 2 * Copyright (C) 2024 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 { AbilityConstant, UIAbility, Want } from '@kit.AbilityKit'; 16import { hilog } from '@kit.PerformanceAnalysisKit'; 17import { window } from '@kit.ArkUI'; 18import { BusinessError, commonEventManager } from '@kit.BasicServicesKit'; 19const TAG: string = 'ProcessModel'; 20const DOMAIN_NUMBER: number = 0xFF00; 21function sleep(time: number){ 22 return new Promise<void>((resolve) => setTimeout(resolve, time)) 23} 24 25export default class DepplinkDemo extends UIAbility { 26 onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void { 27 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate'); 28 hilog.info(0x0000, 'this want.action is :', '%{public}s', `${JSON.stringify(want.action)}`); 29 let options: commonEventManager.CommonEventPublishData = { 30 code: 1, 31 data: want.action, 32 }; 33 hilog.info(0x0000, 'this option.data is :', '%{public}s', `${JSON.stringify(options.data)}`); 34 commonEventManager.publish('onCreat_0100', options, async (err: BusinessError) => { 35 if (err) { 36 hilog.error(DOMAIN_NUMBER, TAG, 'PublishCallBack err = ' + JSON.stringify(err)); 37 } else { 38 hilog.info(DOMAIN_NUMBER, TAG, 'Publish success'); 39 } 40 await sleep(1000); 41 }); 42 } 43 44 onDestroy(): void { 45 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); 46 } 47 48 onWindowStageCreate(windowStage: window.WindowStage): void { 49 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); 50 windowStage.loadContent('pages/page_0100', (err) => { 51 if (err.code) { 52 hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); 53 return; 54 } 55 hilog.info(0x0000, 'testTag', 'Succeeded in loading the content.'); 56 }); 57 } 58 59 onWindowStageDestroy(): void { 60 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); 61 } 62 63 onForeground(): void { 64 this.context.terminateSelf(); 65 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); 66 } 67 68 onBackground(): void { 69 hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); 70 } 71} 72