W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵
UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文UIAbilityContext。
應(yīng)用中的UIAbility在啟動過程中,需要指定啟動頁面,否則應(yīng)用啟動后會因?yàn)闆]有默認(rèn)加載頁面而導(dǎo)致白屏??梢栽赨IAbility的onWindowStageCreate()生命周期回調(diào)中,通過WindowStage對象的loadContent()方法設(shè)置啟動頁面。
- 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中創(chuàng)建的UIAbility中,該UIAbility實(shí)例默認(rèn)會加載Index頁面,根據(jù)需要將Index頁面路徑替換為需要的頁面路徑即可。
UIAbility類擁有自身的上下文信息,該信息為UIAbilityContext類的實(shí)例,UIAbilityContext類擁有abilityInfo、currentHapModuleInfo等屬性。通過UIAbilityContext可以獲取UIAbility的相關(guān)配置信息,如包代碼路徑、Bundle名稱、Ability名稱和應(yīng)用程序需要的環(huán)境狀態(tài)等屬性信息,以及可以獲取操作UIAbility實(shí)例的方法(如startAbility()、connectServiceExtensionAbility()、terminateSelf()等)。
在UIAbility中可以通過this.context獲取UIAbility實(shí)例的上下文信息。
- import UIAbility from '@ohos.app.ability.UIAbility';
- export default class EntryAbility extends UIAbility {
- onCreate(want, launchParam) {
- // 獲取UIAbility實(shí)例的上下文
- let context = this.context;
- // ...
- }
- }
在頁面中獲取UIAbility實(shí)例的上下文信息,包括導(dǎo)入依賴資源context模塊和在組件中定義一個context變量兩個部分。
- import common from '@ohos.app.ability.common';
- @Entry
- @Component
- struct Index {
- private context = getContext(this) as common.UIAbilityContext;
- startAbilityTest() {
- let want = {
- // Want參數(shù)信息
- };
- this.context.startAbility(want);
- }
- // 頁面展示
- build() {
- // ...
- }
- }
也可以在導(dǎo)入依賴資源context模塊后,在具體使用UIAbilityContext前進(jìn)行變量定義。
- import common from '@ohos.app.ability.common';
- @Entry
- @Component
- struct Index {
- startAbilityTest() {
- let context = getContext(this) as common.UIAbilityContext;
- let want = {
- // Want參數(shù)信息
- };
- context.startAbility(want);
- }
- // 頁面展示
- build() {
- // ...
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: