zoukankan      html  css  js  c++  java
  • HMS16. 页面间跳转导航

    01. 关于页面间的跳转

      在HarmonyOS中,一个App允许存在多个Ability, 一个Ability中允许存在多个AbilitySlice; 

      因此在 App的应用中,存在同一个Ability中不同Slice之间的跳转,也存在不同Ability间的页面跳转;

      a. 在一个Ability里,使用  present() / presentForResult() 方法从一个AbilitySlice导航到另外一个 AbilitySlice; 即同一个Page内,不同AbilitySlice之间的跳转;

        

      b. 在不同Ability的AbilitySlice之间,使用  startAbility() / startAbilityForResult() 来启动一个新的 Ability; 

        

     02. 本次学习Demo源码
      a. 实现同Ability内不同Slice间的跳转;
      b. 实现不同Ability间的跳转;

      

     

    03. 需注意的知识点

      >>>  新建 Ability

        

      >>>  在一个 Ability中新建新的 AbilitySlice

        

       >>> 同Ability间,源Slice 接收 目标 Slice 返回数据的的处理

        a. 源Slice 在调用 presentForResult时,传入一个 请求码 (requestCode); 请求码自定义;
         

        b,源 Slice 配置结果接收监听

         

        c. 目标Slice中配置返回结果

           

       >>> 不同Ability间,源Slice 接收 目标 Slice 返回数据的的处理

         不同Ability之间的跳转,需要使用 startAbilityForResult来处理;

         a. 源Slice发起请求

          

        b. 目标Slice或目标Ability中配置返回数据 

         * 从目标Ability 中配置返回结果 

            

         * 从目标Slice中返回结果

         

         c. 源Slice中配置结果接收处理

         

       >>> 从例程中可以看到,关于不同Page之间的跳转有二种不同的方式,

        * 第一种方式,是直接配置跳转参数,

           

        * 第二种方式,是通过指定的Action来跳转

         

         要想实现第二种效果,需要注意如下几点:

          1. 目标ABility,注册Action路由
           

           2.目标ABility所属模块 config.json 中,为目标模块注册 Action

              

           3.调用Slice,在业务中指定目标ABility中注册的Action; 

           Operation operation = new Intent.OperationBuilder().withAction(ACTION_NAME).build();
           此时,可正常跳转到目标ABility; 

      

      

     

        

          

     

     

        

      

      

  • 相关阅读:
    MySQL for OPS 02:SQL 基础
    Samba:基于公网 IP 的服务访问
    MySQL for OPS 01:简介 / 安装初始化 / 用户授权管理
    Samba:打造企业级授权文件共享服务器
    嵌入式web server——Goahead移植要点
    libConfuse的使用
    【工具篇】notepad++
    使用sprintf打印float并控制小数位数时引起的问题
    【工具篇】source Insight
    【工具篇】xshell
  • 原文地址:https://www.cnblogs.com/jieling/p/15500206.html
Copyright © 2011-2022 走看看