API切換概述
FA模型和Stage模型由于線程模型和進程模型的差異,部分接口僅在FA模型下才能使用,針對這部分接口在SDK的接口中有FAModelOnly的標記,用于提醒開發(fā)者這部分接口僅能在FA模型下使用。因此在切換到Stage模型時,需要將應用中用到的FAModelOnly接口替換成Stage模型下對應的接口。下面是startAbility的接口切換示例,全量接口列表請查看后續(xù)章節(jié):
startAbility接口由FA模型切換到Stage模型的示例: 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
- FA模型示例
import featureAbility from '@ohos.ability.featureAbility'; import Want from '@ohos.app.ability.Want'; import hilog from '@ohos.hilog'; const TAG: string = 'PagePageAbilityFirst'; const domain: number = 0xFF00; @Entry @Component struct PagePageAbilityFirst { build() { Column() { List({ initialIndex: 0 }) { ListItem() { Flex({ justifyContent: FlexAlign.SpaceBetween, alignContent: FlexAlign.Center }) { //... } .onClick(() = > { (async (): Promise< void > = > { try { hilog.info(domain, TAG, 'Begin to start ability'); let want: Want = { bundleName: 'com.samples.famodelabilitydevelop', moduleName: 'entry', abilityName: 'com.samples.famodelabilitydevelop.PageAbilitySingleton' }; await featureAbility.startAbility({ want: want }); hilog.info(domain, TAG, `Start ability succeed`); } catch (error) { hilog.error(domain, TAG, 'Start ability failed with ' + error); } })() }) } //... } //... } //... } }
- Stage示例示例
HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿
import hilog from '@ohos.hilog';
import Want from '@ohos.app.ability.Want';
import common from '@ohos.app.ability.common';
import { BusinessError } from '@ohos.base';
import { Caller } from '@ohos.app.ability.UIAbility';
const TAG: string = '[Page_UIAbilityComponentsInteractive]';
const DOMAIN_NUMBER: number = 0xFF00;
@Entry
@Component
struct Page_UIAbilityComponentsInteractive {
private context = getContext(this) as common.UIAbilityContext;
caller: Caller | undefined = undefined;
build() {
Column() {
//...
List({ initialIndex: 0 }) {
ListItem() {
Row() {
//...
}
.onClick(() = > {
// context為Ability對象的成員,在非Ability對象內(nèi)部調(diào)用需要
// 將Context對象傳遞過去
let wantInfo: Want = {
deviceId: '', // deviceId為空表示本設備
bundleName: 'com.samples.stagemodelabilitydevelop',
moduleName: 'entry', // moduleName非必選
abilityName: 'FuncAbilityA',
parameters: { // 自定義信息
info: '來自EntryAbility Page_UIAbilityComponentsInteractive頁面'
},
};
// context為調(diào)用方UIAbility的UIAbilityContext
this.context.startAbility(wantInfo).then(() = > {
hilog.info(DOMAIN_NUMBER, TAG, 'startAbility success.');
}).catch((error: BusinessError) = > {
hilog.error(DOMAIN_NUMBER, TAG, 'startAbility failed.');
});
})
}
//...
}
//...
}
//...
}
}
審核編輯 黃宇
-
API
+關(guān)注
關(guān)注
2文章
1518瀏覽量
62451 -
框架
+關(guān)注
關(guān)注
0文章
403瀏覽量
17555 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2397瀏覽量
43091
發(fā)布評論請先 登錄
相關(guān)推薦
HarmonyOS NEXT應用元服務開發(fā)Intents Kit(意圖框架服務)本地搜索方案概述
鴻蒙原生開發(fā)手記:01-元服務開發(fā)
鴻蒙Java API中aafwk是什么概念?有什么用途?
OpenHarmony 應用開發(fā)SDK、API 與基礎(chǔ)工具
windows api大全
![windows <b class='flag-5'>api</b>大全](https://file.elecfans.com/web2/M00/48/83/pYYBAGKhtAqAPbZpAAByRiSIaf0886.jpg)
如何搭建API程序_框架api接口規(guī)范
![如何搭建<b class='flag-5'>API</b><b class='flag-5'>程序</b>_<b class='flag-5'>框架</b><b class='flag-5'>api</b>接口規(guī)范](https://file1.elecfans.com//web2/M00/A7/22/wKgZomUMQpGAIZnCAAAY7n77hho783.png)
鴻蒙Ability Kit(程序框架服務)【Ability內(nèi)頁面間的跳轉(zhuǎn)】
![<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>)【<b class='flag-5'>Ability</b>內(nèi)頁面間的跳轉(zhuǎn)】](https://file1.elecfans.com/web2/M00/E3/5B/wKgaomY7dICAanabAG9fQxOwEh0579.jpg)
鴻蒙開發(fā)Ability Kit程序框架服務:FA模型切換Stage模型指導 app和deviceConfig的切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:FA模型<b class='flag-5'>切換</b>Stage模型指導 app和deviceConfig的<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)Ability Kit程序框架服務:FA模型切換Stage模型指導 module的切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:FA模型<b class='flag-5'>切換</b>Stage模型指導 module的<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/C5/D5/wKgZomYCnRSAcOMcAACEEnttXHc600.png)
鴻蒙開發(fā)Ability Kit程序框架服務:PageAbility切換 組件切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:PageAbility<b class='flag-5'>切換</b> 組件<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/F4/B2/wKgaomZ9V_mAFCmsAAEmkiq_e4E734.jpg)
鴻蒙開發(fā)Ability Kit程序框架服務:ServiceAbility切換 組件切換
![<b class='flag-5'>鴻蒙</b><b class='flag-5'>開發(fā)</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>:ServiceAbility<b class='flag-5'>切換</b> 組件<b class='flag-5'>切換</b>](https://file1.elecfans.com/web2/M00/EB/FD/wKgZomZga66AH7OqAAB0JZzan-Y410.png)
評論