日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙Ability Kit(程序框架服務)【應用上下文Context】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-06 09:22 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

應用上下文Context

概述

[Context]是應用中對象的上下文,其提供了應用的一些基礎信息,例如resourceManager(資源管理)、applicationInfo(當前應用信息)、dir(應用文件路徑)、area(文件分區(qū))等,以及應用的一些基本方法,例如createBundleContext()、getApplicationContext()等。UIAbility組件和各種ExtensionAbility派生類組件都有各自不同的Context類。分別有基類Context、ApplicationContext、AbilityStageContext、UIAbilityContext、ExtensionContext、ServiceExtensionContext等Context。

  • 各類Context的繼承關系
    ![context-inheritance]
  • 各類Context的持有關系
    ![context-holding]
  • 各類Context的獲取方式
    • 獲取[UIAbilityContext]。每個UIAbility中都包含了一個Context屬性,提供操作應用組件、獲取應用組件的配置信息等能力。

      import UIAbility from '@ohos.app.ability.UIAbility';
      import type AbilityConstant from '@ohos.app.ability.AbilityConstant';
      import type Want from '@ohos.app.ability.Want';
      export default class EntryAbility extends UIAbility {
        onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
          let uiAbilityContext = this.context;
          //...
        }
      }
      

      說明:
      開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
      頁面中獲取UIAbility實例的上下文信息請參見[獲取UIAbility的上下文信息]。

    • 獲取特定場景[ExtensionContext]。以ServiceExtensionContext為例,表示后臺服務的上下文環(huán)境,繼承自ExtensionContext,提供后臺服務相關的接口能力。

      import ServiceExtensionAbility from '@ohos.app.ability.ServiceExtensionAbility';
      import type Want from '@ohos.app.ability.Want';
      export default class ServiceExtAbility extends ServiceExtensionAbility {
        onCreate(want: Want) {
          let serviceExtensionContext = this.context;
          //...
        }
      }
      
    • 獲取[AbilityStageContext]。Module級別的Context,和基類Context相比,額外提供HapModuleInfo、Configuration等信息。

      import AbilityStage from '@ohos.app.ability.AbilityStage';
      export default class MyAbilityStage extends AbilityStage {
        onCreate(): void {
          let abilityStageContext = this.context;
          //...
        }
      }
      
    • 獲取[ApplicationContext]。應用級別的Context。ApplicationContext在基類Context的基礎上提供了訂閱應用內(nèi)應用組件的生命周期的變化、訂閱系統(tǒng)內(nèi)存變化和訂閱應用內(nèi)系統(tǒng)環(huán)境的變化的能力,在UIAbility、ExtensionAbility、AbilityStage中均可以獲取。

      import UIAbility from '@ohos.app.ability.UIAbility';
      import type AbilityConstant from '@ohos.app.ability.AbilityConstant';
      import type Want from '@ohos.app.ability.Want';
      export default class EntryAbility extends UIAbility {
        onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
          let applicationContext = this.context.getApplicationContext();
          //...
        }
      }
      

Context的典型使用場景

本章節(jié)通過如下典型場景來介紹Context的用法:

  • [獲取應用文件路徑]
  • [獲取和修改加密分區(qū)]
  • [獲取本應用中其他module的context]
  • [訂閱進程內(nèi)UIAbility生命周期變化]

獲取應用文件路徑

[基類Context]提供了獲取應用文件路徑的能力,ApplicationContext、AbilityStageContext、UIAbilityContext和ExtensionContext均繼承該能力。應用文件路徑屬于應用沙箱路徑,具體請參見[應用沙箱目錄]。

上述各類Context獲取的應用文件路徑有所不同。

  • 通過ApplicationContext獲取應用級別的應用文件路徑,此路徑是應用全局信息推薦的存放路徑,這些文件會跟隨應用的卸載而刪除。

    屬性路徑
    bundleCodeDir<路徑前綴>/el1/bundle
    cacheDir<路徑前綴>/<加密等級>/base/cache
    filesDir<路徑前綴>/<加密等級>/base/files
    preferencesDir<路徑前綴>/<加密等級>/base/preferences
    tempDir<路徑前綴>/<加密等級>/base/temp
    databaseDir<路徑前綴>/<加密等級>/database
    distributedFilesDir<路徑前綴>/el2/distributedFiles
    cloudFileDir12+<路徑前綴>/el2/hmdfs/cloud/data

    示例代碼如下所示。

    import common from '@ohos.app.ability.common';
    import hilog from '@ohos.hilog';
    import promptAction from '@ohos.promptAction';
    
    const TAG: string = '[Page_Context]';
    const DOMAIN_NUMBER: number = 0xFF00;
    @Entry
    @Component
    struct Page_Context {
      private context = getContext(this) as common.UIAbilityContext;
    
      build() {
        Column() {
          //...
          List({ initialIndex: 0 }) {
            ListItem() {
              Row() {
                //...
              }
              .onClick(() = > {
                let applicationContext = this.context.getApplicationContext();
                let cacheDir = applicationContext.cacheDir;
                let tempDir = applicationContext.tempDir;
                let filesDir = applicationContext.filesDir;
                let databaseDir = applicationContext.databaseDir;
                let bundleCodeDir = applicationContext.bundleCodeDir;
                let distributedFilesDir = applicationContext.distributedFilesDir;
                let preferencesDir = applicationContext.preferencesDir;
                // 獲取應用文件路徑
                let filePath = tempDir + 'test.txt';
                hilog.info(DOMAIN_NUMBER, TAG, `filePath: ${filePath}`);
                if (filePath !== null) {
                  promptAction.showToast({
                    message: filePath
                  });
                }
              })
            }
            //...
          }
          //...
        }
        //...
      }
    }
    
  • 通過AbilityStageContext、UIAbilityContext、ExtensionContext獲取HAP級別的應用文件路徑。此路徑是HAP相關信息推薦的存放路徑,這些文件會跟隨HAP的卸載而刪除,但不會影響應用級別路徑的文件,除非該應用的HAP已全部卸載。

    屬性路徑
    bundleCodeDir<路徑前綴>/el1/bundle
    cacheDir<路徑前綴>/<加密等級>/base/haps//cache
    filesDir<路徑前綴>/<加密等級>/base/haps//files
    preferencesDir<路徑前綴>/<加密等級>/base/haps//preferences
    tempDir<路徑前綴>/<加密等級>/base/haps//temp
    databaseDir<路徑前綴>/<加密等級>/database/ ****
    distributedFilesDir<路徑前綴>/el2/distributedFiles/ ****
    cloudFileDir12+<路徑前綴>/el2/hmdfs/cloud/data/ ****

    示例代碼如下所示。

    import common from '@ohos.app.ability.common';
    import hilog from '@ohos.hilog';
    import promptAction from '@ohos.promptAction';
    
    const TAG: string = '[Page_Context]';
    const DOMAIN_NUMBER: number = 0xFF00;
    @Entry
    @Component
    struct Page_Context {
      private context = getContext(this) as common.UIAbilityContext;
    
      build() {
        Column() {
          //...
          List({ initialIndex: 0 }) {
            ListItem() {
              Row() {
                //...
              }
              .onClick(() = > {
                let cacheDir = this.context.cacheDir;
                let tempDir = this.context.tempDir;
                let filesDir = this.context.filesDir;
                let databaseDir = this.context.databaseDir;
                let bundleCodeDir = this.context.bundleCodeDir;
                let distributedFilesDir = this.context.distributedFilesDir;
                let preferencesDir = this.context.preferencesDir;
                // 獲取應用文件路徑
                let filePath = tempDir + 'test.txt';
                hilog.info(DOMAIN_NUMBER, TAG, `filePath: ${filePath}`);
                if (filePath !== null) {
                  promptAction.showToast({
                    message: filePath
                  });
                }
              })
            }
            //...
          }
          //...
        }
        //...
      }
    }
    

獲取和修改加密分區(qū)

應用文件加密是一種保護數(shù)據(jù)安全的方法,可以使得文件在未經(jīng)授權(quán)訪問的情況下得到保護。在不同的場景下,應用需要不同程度的文件保護。

在實際應用中,開發(fā)者需要根據(jù)不同場景的需求選擇合適的加密分區(qū),從而保護應用數(shù)據(jù)的安全。通過合理使用不同級別的加密分區(qū),可以有效提高應用數(shù)據(jù)的安全性。關于不同分區(qū)的權(quán)限說明,詳見[ContextConstant]的AreaMode。

  • EL1:對于私有文件,如鬧鈴、壁紙等,應用可以將這些文件放到設備級加密分區(qū)(EL1)中,以保證在用戶輸入密碼前就可以被訪問。
  • EL2:對于更敏感的文件,如個人隱私信息等,應用可以將這些文件放到更高級別的加密分區(qū)(EL2)中,以保證更高的安全性。
  • EL3:對于應用中的記錄步數(shù)、文件下載、音樂播放,需要在鎖屏時讀寫和創(chuàng)建新文件,放在(EL3)的加密分區(qū)比較合適。
  • EL4:對于用戶安全信息相關的文件,鎖屏時不需要讀寫文件、也不能創(chuàng)建文件,放在(EL4)的加密分區(qū)更合適。

要實現(xiàn)獲取和設置當前加密分區(qū),可以通過讀寫[Context]的area屬性來實現(xiàn)。

import UIAbility from '@ohos.app.ability.UIAbility';
import contextConstant from '@ohos.app.ability.contextConstant';
import AbilityConstant from '@ohos.app.ability.AbilityConstant';
import Want from '@ohos.app.ability.Want';

export default class EntryAbility extends UIAbility {
  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
    // 存儲普通信息前,切換到EL1設備級加密
    this.context.area = contextConstant.AreaMode.EL1; // 切換area
    // 存儲普通信息

    // 存儲敏感信息前,切換到EL2用戶級加密
    this.context.area = contextConstant.AreaMode.EL2; // 切換area
    // 存儲敏感信息

    // 存儲敏感信息前,切換到EL3用戶級加密
    this.context.area = contextConstant.AreaMode.EL3; // 切換area
    // 存儲敏感信息

    // 存儲敏感信息前,切換到EL4用戶級加密
    this.context.area = contextConstant.AreaMode.EL4; // 切換area
    // 存儲敏感信息
  }
}
import contextConstant from '@ohos.app.ability.contextConstant';
import common from '@ohos.app.ability.common';
import promptAction from '@ohos.promptAction';

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

  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        //...
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            // 存儲普通信息前,切換到EL1設備級加密
            if (this.context.area === contextConstant.AreaMode.EL2) { // 獲取area
              this.context.area = contextConstant.AreaMode.EL1; // 修改area
              promptAction.showToast({
                message: $r('app.string.SwitchToEL1')
              });
            }
            // 存儲普通信息
          })
        }
        //...
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            // 存儲敏感信息前,切換到EL2用戶級加密
            if (this.context.area === contextConstant.AreaMode.EL1) { // 獲取area
              this.context.area = contextConstant.AreaMode.EL2; // 修改area
              promptAction.showToast({
                message: $r('app.string.SwitchToEL2')
              });
            }
            // 存儲敏感信息
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

獲取本應用中其他Module的Context

調(diào)用createModuleContext(moduleName:string)方法,獲取本應用中其他Module的Context。獲取到其他Module的Context之后,即可獲取到相應Module的資源信息。

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

let storageEventCall = new LocalStorage();

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

  build() {
    Column() {
      //...
      List({ initialIndex: 0 }) {
        ListItem() {
          Row() {
            //...
          }
          .onClick(() = > {
            let moduleName2: string = 'entry';
            let moduleContext: Context = this.context.createModuleContext(moduleName2);
            if (moduleContext !== null) {
              promptAction.showToast({
                message: ('成功獲取Context')
              });
            }
          })
        }
        //...
      }
      //...
    }
    //...
  }
}

訂閱進程內(nèi)UIAbility生命周期變化

在應用內(nèi)的DFX統(tǒng)計場景中,如需要統(tǒng)計對應頁面停留時間和訪問頻率等信息,可以使用訂閱進程內(nèi)UIAbility生命周期變化功能。

通過[ApplicationContext]提供的能力,可以訂閱進程內(nèi)UIAbility生命周期變化。當進程內(nèi)的UIAbility生命周期變化時,如創(chuàng)建、可見/不可見、獲焦/失焦、銷毀等,會觸發(fā)相應的回調(diào)函數(shù)。每次注冊回調(diào)函數(shù)時,都會返回一個監(jiān)聽生命周期的ID,此ID會自增+1。當超過監(jiān)聽上限數(shù)量2^63-1時,會返回-1。以[UIAbilityContext]中的使用為例進行說明。
鴻蒙文檔.png

`HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿`

import type AbilityConstant from '@ohos.app.ability.AbilityConstant';
import type AbilityLifecycleCallback from '@ohos.app.ability.AbilityLifecycleCallback';
import hilog from '@ohos.hilog';
import UIAbility from '@ohos.app.ability.UIAbility';
import type Want from '@ohos.app.ability.Want';
import type window from '@ohos.window';

const TAG: string = '[LifecycleAbility]';
const DOMAIN_NUMBER: number = 0xFF00;

export default class LifecycleAbility extends UIAbility {
  // 定義生命周期ID
  lifecycleId: number = -1;

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    // 定義生命周期回調(diào)對象
    let abilityLifecycleCallback: AbilityLifecycleCallback = {
      // 當UIAbility創(chuàng)建時被調(diào)用
      onAbilityCreate(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityCreate uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當窗口創(chuàng)建時被調(diào)用
      onWindowStageCreate(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageCreate uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageCreate windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當窗口處于活動狀態(tài)時被調(diào)用
      onWindowStageActive(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageActive uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageActive windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當窗口處于非活動狀態(tài)時被調(diào)用
      onWindowStageInactive(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageInactive uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageInactive windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當窗口被銷毀時被調(diào)用
      onWindowStageDestroy(uiAbility, windowStage: window.WindowStage) {
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageDestroy uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
        hilog.info(DOMAIN_NUMBER, TAG, `onWindowStageDestroy windowStage: ${JSON.stringify(windowStage)}`);
      },
      // 當UIAbility被銷毀時被調(diào)用
      onAbilityDestroy(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityDestroy uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當UIAbility從后臺轉(zhuǎn)到前臺時觸發(fā)回調(diào)
      onAbilityForeground(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityForeground uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當UIAbility從前臺轉(zhuǎn)到后臺時觸發(fā)回調(diào)
      onAbilityBackground(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityBackground uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      },
      // 當UIAbility遷移時被調(diào)用
      onAbilityContinue(uiAbility) {
        hilog.info(DOMAIN_NUMBER, TAG, `onAbilityContinue uiAbility.launchWant: ${JSON.stringify(uiAbility.launchWant)}`);
      }
    };
    // 獲取應用上下文
    let applicationContext = this.context.getApplicationContext();
    // 注冊應用內(nèi)生命周期回調(diào)
    this.lifecycleId = applicationContext.on('abilityLifecycle', abilityLifecycleCallback);
    hilog.info(DOMAIN_NUMBER, TAG, `register callback number: ${this.lifecycleId}`);
  }

  //...

  onDestroy() : void {
    // 獲取應用上下文
    let applicationContext = this.context.getApplicationContext();
    // 取消應用內(nèi)生命周期回調(diào)
    applicationContext.off('abilityLifecycle', this.lifecycleId);
  }
};

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 框架
    +關注

    關注

    0

    文章

    404

    瀏覽量

    18501
  • 鴻蒙
    +關注

    關注

    60

    文章

    3031

    瀏覽量

    46194
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    鴻蒙開發(fā)接口Ability框架:【@ohos.application.Ability (Ability)】

    Ability模塊提供對Ability生命周期、上下文環(huán)境等調(diào)用管理的能力,包括Ability創(chuàng)建、銷毀、轉(zhuǎn)儲客戶端信息等。
    的頭像 發(fā)表于 04-30 17:42 ?3456次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【@ohos.application.<b class='flag-5'>Ability</b> (<b class='flag-5'>Ability</b>)】

    鴻蒙開發(fā)接口Ability框架:【 (Context模塊)】

    Context模塊提供了ability或application的上下文的能力,包括允許訪問特定于應用程序的資源、請求和驗證權(quán)限等。
    的頭像 發(fā)表于 05-13 16:04 ?1934次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【 (<b class='flag-5'>Context</b>模塊)】

    鴻蒙開發(fā)接口Ability框架:【(AbilityContext)】

    AbilityContext是Ability上下文環(huán)境,繼承自Context。
    的頭像 發(fā)表于 05-13 09:26 ?2144次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【(AbilityContext)】

    鴻蒙開發(fā)接口Ability框架:【Context

    Context模塊提供開發(fā)者運行代碼的上下文環(huán)境的能力,包括查詢和設置應用信息、ResourceManager等信息。
    的頭像 發(fā)表于 05-21 17:33 ?1806次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【<b class='flag-5'>Context</b>】

    關于進程上下文、中斷上下文及原子上下文的一些概念理解

    不同運行狀態(tài),才有了上下文的概念。用戶空間的應用程序,如果想請求系統(tǒng)服務,比如操作某個物理設備,映射設備的地址到用戶空間,必須通過系統(tǒng)調(diào)用來實現(xiàn)。(系統(tǒng)調(diào)用是操作系統(tǒng)提供給用戶空間的接口函數(shù))。 通過系統(tǒng)
    發(fā)表于 09-06 09:58

    進程上下文與中斷上下文的理解

    的切換1.進程上下文主要是異常處理程序和內(nèi)核線程。內(nèi)核之所以進入進程上下文是因為進程自身的一些工作需要在內(nèi)核中做。例如,系統(tǒng)調(diào)用是為當前進程服務的,異常通常是處理進程導致的錯誤狀態(tài)等。
    發(fā)表于 12-11 19:45

    進程上下文/中斷上下文及原子上下文的概念

    為什么會有上下文這種概念進程上下文/中斷上下文及原子上下文的概念
    發(fā)表于 01-13 07:17

    HarmonyOS/OpenHarmony(Stage模型)卡片開發(fā)應用上下文Context概述

    概述 Context是應用中對象的上下文,其提供了應用的一些基礎信息,例如resourceManager(資源管理)、applicationInfo(當前應用信息)、dir(應用開發(fā)路徑)、area
    發(fā)表于 08-24 16:30

    基于Pocket PC的上下文菜單實現(xiàn)

    介紹了基于 Pocket PC 中的點按操作概念, 論述了在Pocket PC 中上下文菜單的實現(xiàn)原理及方法, 并給出了基于MFC 下的Windows CE 應用程序實現(xiàn)上下文菜單的步驟和代碼實例。
    發(fā)表于 07-25 18:26 ?17次下載

    基于上下文相似度的分解推薦算法

    針對移動服務推薦中用戶上下文環(huán)境復雜多變和數(shù)據(jù)稀疏性問題,提出一種基于移動用戶上下文相似度的張量分解推薦算法-UCS-TF。該算法組合用戶間的多維上下文相似度和
    發(fā)表于 11-27 17:42 ?0次下載

    Web服務上下文的訪問控制策略模型

    Web服務環(huán)境中,交互實體通常位于不同安全域,具有不可預見性。Web服務應該基于其他與領域無關的信息而非身份來實施訪問控制,以實現(xiàn)對跨域未知用戶的訪問授權(quán)。為此,提出了適應于Web服務的基于
    發(fā)表于 01-05 16:32 ?0次下載

    鴻蒙開發(fā)接口Ability框架:【AbilityStageContext】

    AbilityStageContext是AbilityStage的上下文環(huán)境,繼承自[Context]。
    的頭像 發(fā)表于 05-15 15:51 ?1262次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【AbilityStageContext】

    鴻蒙開發(fā)接口Ability框架:【Context

    Context模塊提供開發(fā)者運行代碼的上下文環(huán)境的能力,包括查詢和設置應用信息、ResourceManager等信息。
    的頭像 發(fā)表于 05-15 15:29 ?1450次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【<b class='flag-5'>Context</b>】

    鴻蒙開發(fā)接口Ability框架:【ExtensionContext】

    ExtensionContext是Extension的上下文環(huán)境,繼承自Context。
    的頭像 發(fā)表于 05-15 17:34 ?933次閱讀
    <b class='flag-5'>鴻蒙</b>開發(fā)接口<b class='flag-5'>Ability</b><b class='flag-5'>框架</b>:【ExtensionContext】

    鴻蒙Ability Kit程序框架服務)【UIAbility組件基本用法】

    UIAbility組件的基本用法包括:指定UIAbility的啟動頁面以及獲取UIAbility的上下文[UIAbilityContext]。
    的頭像 發(fā)表于 06-06 11:02 ?1836次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>Ability</b> <b class='flag-5'>Kit</b>(<b class='flag-5'>程序</b><b class='flag-5'>框架</b><b class='flag-5'>服務</b>)【UIAbility組件基本用法】
    开原市| 固始县| 淮安市| 吉水县| 西青区| 瓮安县| 柏乡县| 大田县| 临武县| 罗甸县| 丰镇市| 西青区| 光泽县| 尤溪县| 沙坪坝区| 手机| 图们市| 平原县| 惠安县| 藁城市| 忻城县| 宣恩县| 寿宁县| 安新县| 建瓯市| 岳池县| 岳阳县| 聊城市| 柯坪县| 安多县| 光泽县| 平谷区| 四平市| 瑞丽市| 四会市| 西贡区| 宁陵县| 班戈县| 招远市| 龙门县| 北票市|