【鸿蒙应用开发】【HCIA认证】模拟题每日1练(第1题) 原创
第1道模拟题来自于华为官方公布的模拟试题。这道题考查的知识点是:使用隐式方式在不同Page间导航。当我们由源Page导航到目标Page时,假设目标Page有多个AbilitySlice,可以在目标Page中调用方法setMainRoute(),将默认的路由指定为某个AbilitySlice。那么,如何直接路由到目标Page的某个AbilitySlice呢?
大家来看这个例子对应的示例代码(附件中可下载示例代码):
PageA包含两个AbilitySlice:分别是AbilitySliceA1和AbilitySliceA2,其中默认展示的是AbilitySliceA1,因为在PageA中调用了方法setMainRoute(),将默认的路由指定为了AbilitySliceA1。那么,如何直接路由到PageA的AbilitySliceA2呢?
只需要3步就可以实现:
第1步,在配置文件config.json中注册目标Page”PageA”对应的action,比如取名为"action.zrc.test"。
第2步,在源Page”PageB”或他对应的AbilitySliceB中,在调用方法startAbility()进行导航时,对于作为参数的Intent实例,通过调用方法withAction()来指定刚才第1步中注册的action。
第3步,在目标Page”PageA”中,调用方法addActionRoute()为AbilitySliceA2添加路由,其中,第1个参数指定第2步中指定的action,第2个参数指定AbilitySliceA2。
只需要这3步就可以了。
所以,这道题的答案是A、B、C。
选项D是一个干扰项,题干中明确提到是在当前设备中进行导航,而DeviceId的默认值为空字符串,表示的就是当前设备,所以,无需在当前设备中设置DeviceId为空。
向大家推荐由我的教学团队开发的视频课程《鸿蒙应用开发HCIA认证超细致精讲》:
感谢张老师细致讲解。