> 文档中心 > 【HarmonyOS应用开发】【HCIA认证】模拟题每日1练(第1题)

【HarmonyOS应用开发】【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为空。