HarmonyOS/OpenHarmony アプリケーション開発 - ステージモデル UIAbility コンポーネントの使用 (3)

UIAbility コンポーネントの基本的な使用法
UIAbility コンポーネントの基本的な使用法には、UIAbility の起動ページの指定と、UIAbility のコンテキスト UIAbilityContext の取得が含まれます。
1. UIAbility の起動ページを指定する
アプリケーションでの UIAbility の起動プロセス中に、起動ページを指定する必要があります。指定しないと、アプリケーションの起動後にデフォルト ページが読み込まれないため、アプリケーションが白画面になります。起動ページは、UIAbility の onWindowStageCreate() ライフサイクル コールバックの WindowStage オブジェクトのloadContent() メソッドを通じて設定できます。

import UIAbility from '@ohos.app.ability.UIAbility';
import Window from '@ohos.window';

export default class EntryAbility extends UIAbility {
    onWindowStageCreate(windowStage: Window.WindowStage) {
        // Main window is created, set main page for this ability
        windowStage.loadContent('pages/Index', (err, data) => {
            // ...
        });
    }

    // ...
}

注: DevEco Studio で作成された UIAbility では、UIAbility インスタンスはデフォルトでインデックス ページをロードし、必要に応じてインデックス ページのパスを必要なページ パスに置き換えます。

2. UIAbility のコンテキスト情報を取得する
UIAbility クラスは、UIAbilityContext クラスのインスタンスである独自のコンテキスト情報を持ち、UIAbilityContext クラスには、abilityInfo や currentHapModuleInfo などの属性があります。UIAbilityContext を通じて、パッケージ コード パス、バンドル名、アビリティ名、アプリケーションに必要な環境ステータスなどの UIAbility 関連の構成情報や、UIAbility インスタンスを操作するためのメソッド (startAbility()、connectServiceExtensionAbility() など) を取得できます。 、terminateSelf) ()wait)。
UIAbility では、UIAbility インスタンスのコンテキスト情報を this.context を通じて取得できます。

import UIAbility from '@ohos.app.ability.UIAbility';

export default class EntryAbility extends UIAbility {
    onCreate(want, launchParam) {
        // 获取UIAbility实例的上下文
        let context = this.context;

        // ...
    }
}

ページ内の UIAbility インスタンスのコンテキスト情報の取得には、依存リソース コンテキスト モジュールのインポートとコンポーネント内のコンテキスト変数の定義が含まれます。

import common from '@ohos.app.ability.common';

@Entry
@Component
struct Index {
  private context = getContext(this) as common.UIAbilityContext;

  startAbilityTest() {
    let want = {
      // Want参数信息
    };
    this.context.startAbility(want);
  }

  // 页面展示
  build() {
    // ...
  }
}

依存リソース コンテキスト モジュールをインポートした後、UIAbilityContext を使用する前に変数を定義することもできます。

import common from '@ohos.app.ability.common';

@Entry
@Component
struct Index {

  startAbilityTest() {
    let context = getContext(this) as common.UIAbilityContext;
    let want = {
      // Want参数信息
    };
    context.startAbility(want);
  }

  // 页面展示
  build() {
    // ...
  }
}

おすすめ

転載: blog.csdn.net/weixin_69135651/article/details/131581594