同模块下的ability之间的跳转
1、首先创建一个新的ability
创建成功后在ability中标识一下
知道他是那个页面
2、在首页ability中来写跳转的其他ability
一共分两步
// 1、准备一个want作为UIAbility的启动参数
// 2、利用上下文对象context,调用startAbility传入want启动
2.1、导入所需要的包
import { promptAction } from '@kit.ArkUI';
import { common, UIAbility, Want } from '@kit.AbilityKit';
2.2、写一个want作为UIAbility的启动参数
Button('点击跳转')
.onClick(() => {
promptAction.showToast({//弹窗
// message:`显示${JSON.stringify(event)}`,
message:`点击成功`
})
let wantInfo:Want={
deviceId:'',//空 表示本应用
bundleName:'com.example.localiondemo',//包名
moduleName:'entry',//模块名
abilityName:'TwoAbility',//跳转的模块
parameters:{
info:'来自entryAbility'
}
}
})
2.3、利用上下文对象context,调用startAbility传入want启动
2.3.1先获取上下文
//获取上下文对象
context=getContext(this) as common.UIAbilityContext
2.3.2利用context startAbility 调起UIAbility
// 2、利用contentext startAbility 调起UIAbility
this.context.startAbility(wantInfo)
2.3.3首页ability完整代码
import { productViewManager } from '@kit.StoreKit';
import { promptAction } from '@kit.ArkUI';
import { common, UIAbility, Want } from '@kit.AbilityKit';
@Entry
@Component
struct AbilityPage {
@State message: string = 'AbilityPageHelloWorld首页';
//从一个ability唤起另外一个ability(同模块)
// 1、准备一个want作为UIAbility的启动参数
// 2、利用上下文对象context,调用startAbility传入want启动
//获取上下文对象
context=getContext(this) as common.UIAbilityContext
build() {
Column() {
Text(this.message)
.id('AbilityPageHelloWorld')
.fontSize(50)
.fontWeight(FontWeight.Bold)
.alignRules({
center: { anchor: '__container__', align: VerticalAlign.Center },
middle: { anchor: '__container__', align: HorizontalAlign.Center }
})
Button('点击跳转')
.onClick(() => {
promptAction.showToast({//弹窗
// message:`显示${JSON.stringify(event)}`,
message:`点击成功`
})
let wantInfo:Want={
deviceId:'',//空 表示本应用
bundleName:'com.example.localiondemo',//包名
moduleName:'entry',//模块名
abilityName:'TwoAbility',//跳转的模块
parameters:{
info:'来自entryAbility'
}
}
// 2、利用contentext startAbility 调起UIAbility
this.context.startAbility(wantInfo)
})
}
.height('100%')
.width('100%')
}
}
3、跳转成功到ability2后;ability2返回首页
在ability2页面写
Button('点击返回')
.onClick(()=>{
router.back()
})
完工