• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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