五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網 會員登陸 & 注冊

應用間互相跳轉并傳遞數(shù)據

2023-08-10 00:45 作者:起個名好難還被占用  | 我要投稿

參考鏈接:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/application-models/uiability-intra-device-interaction.md#%E5%90%AF%E5%8A%A8%E5%85%B6%E4%BB%96%E5%BA%94%E7%94%A8%E7%9A%84uiability

let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
let want = {
?deviceId: '', // deviceId為空表示本設備
?bundleName: 'com.example.projectb',
?moduleName: 'entry', // moduleName非必選
?abilityName: 'EntryAbility',
?parameters: { // 自定義信息
? ?numa: 1,
? ?numb: 2
?},
}
// context為調用方UIAbility的UIAbilityContext
context.startAbility(want).then(() => {
?console.info('Succeeded in starting ability.');
}).catch((err) => {
?console.error(`Failed to start ability. Code is ${err.code}, message is ${err.message}`);
})

步驟:1. 構建want參數(shù),要跳轉對應應用的bundleName和moduleName

????????????2. 調用context.startAbility方法跳轉到對應應用

ProjectA

// index.ets

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

@Entry
@Component
struct Index {
?@State message: string = 'ProjectA'
?@StorageLink('sum') sum: number = 0;

?build() {
? ?Row() {
? ? ?Column() {
? ? ? ?Text(this.message)
? ? ? ? ?.fontSize(50)
? ? ? ? ?.fontWeight(FontWeight.Bold)
? ? ? ?Button('跳轉ProjectB')
? ? ? ? ?.onClick(() => {
? ? ? ? ? ?let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
? ? ? ? ? ?let want = {
? ? ? ? ? ? ?deviceId: '', // deviceId為空表示本設備
? ? ? ? ? ? ?bundleName: 'com.example.projectb',
? ? ? ? ? ? ?moduleName: 'entry', // moduleName非必選
? ? ? ? ? ? ?abilityName: 'EntryAbility',
? ? ? ? ? ? ?parameters: { // 自定義信息
? ? ? ? ? ? ? ?numa: 1,
? ? ? ? ? ? ? ?numb: 2
? ? ? ? ? ? ?},
? ? ? ? ? ?}
? ? ? ? ? ?// context為調用方UIAbility的UIAbilityContext
? ? ? ? ? ?context.startAbility(want).then(() => {
? ? ? ? ? ? ?console.info('Succeeded in starting ability.');
? ? ? ? ? ?}).catch((err) => {
? ? ? ? ? ? ?console.error(`Failed to start ability. Code is ${err.code}, message is ${err.message}`);
? ? ? ? ? ?})
? ? ? ? ?})
? ? ? ?Text('從ProjectB拿到返回值' + this.sum)
? ? ?}
? ? ?.width('100%')
? ?}
? ?.height('100%')
?}
}

//?EntryAbility.ts

onCreate(want, launchParam) {
?hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
?console.log('onNewWant');
?let funcAbilityWant = want;
?let sum = funcAbilityWant?.parameters?.sum;

?AppStorage.SetOrCreate('sum', sum);
}

onNewWant(want) {
?console.log('onNewWant');
?let funcAbilityWant = want;
?let sum = funcAbilityWant?.parameters?.sum;

?AppStorage.SetOrCreate('sum', sum);
}

ProjectB

// index.ets

import common from '@ohos.app.ability.common'
@Entry
@Component
struct Index {
?@State message: string = 'projectB'

?build() {
? ?Row() {
? ? ?Column() {
? ? ? ?Text(this.message)
? ? ? ? ?.fontSize(50)
? ? ? ? ?.fontWeight(FontWeight.Bold)
? ? ? ?Button('跳轉ProjectA')
? ? ? ? ?.onClick(() => {
? ? ? ? ? ?let context = getContext(this) as common.UIAbilityContext; // UIAbilityContext
? ? ? ? ? ?let want = {
? ? ? ? ? ? ?deviceId: '', // deviceId為空表示本設備
? ? ? ? ? ? ?bundleName: 'com.example.projecta',
? ? ? ? ? ? ?moduleName: 'entry', // moduleName非必選
? ? ? ? ? ? ?abilityName: 'EntryAbility',
? ? ? ? ? ? ?parameters: { // 自定義信息
? ? ? ? ? ? ? ?sum: AppStorage.Get('sum')
? ? ? ? ? ? ?},
? ? ? ? ? ?}
? ? ? ? ? ?// context為調用方UIAbility的UIAbilityContext
? ? ? ? ? ?context.startAbility(want).then(() => {
? ? ? ? ? ? ?console.info('Succeeded in starting ability.');
? ? ? ? ? ?}).catch((err) => {
? ? ? ? ? ? ?console.error(`Failed to start ability. Code is ${err.code}, message is ${err.message}`);
? ? ? ? ? ?})
? ? ? ? ?})
? ? ?}
? ? ?.width('100%')
? ?}
? ?.height('100%')
?}
}

// EntryAbility.ts

onCreate(want, launchParam) {
?hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onCreate');
?let funcAbilityWant = want;
?let numa = funcAbilityWant?.parameters?.numa;
?let numb = funcAbilityWant?.parameters?.numb;
?console.log('testTwoApp' + numa + numb);
?let sum = numa + numb;
?AppStorage.SetOrCreate('sum', sum);
}

onNewWant(want) {
?console.log('onNewWant');
?let funcAbilityWant = want;
?let numa = funcAbilityWant?.parameters?.numa;
?let numb = funcAbilityWant?.parameters?.numb;
?console.log('testTwoApp' + numa + numb);
?let sum = numa + numb;
?AppStorage.SetOrCreate('sum', sum);
}

參考視頻:https://www.bilibili.com/video/BV1AV411V7yn/?vd_source=ca38750c3d4234b7d9d5f8fd31f855d1



應用間互相跳轉并傳遞數(shù)據的評論 (共 條)

分享到微博請遵守國家法律
宜宾市| 京山县| 宝坻区| 九龙县| 桂东县| 彩票| 霞浦县| 中方县| 青州市| 蓝田县| 徐汇区| 营山县| 射洪县| 南安市| 寻甸| 社旗县| 陆丰市| 建昌县| 黄陵县| 凤山县| 崇礼县| 宜良县| 佛山市| 乳山市| 敖汉旗| 改则县| 无棣县| 西城区| 梓潼县| 应用必备| 珠海市| 大城县| 霍州市| 鄄城县| 永州市| 永善县| 肇东市| 平定县| 永福县| 大竹县| 滦平县|