Harmony页面之间的跳转

**1.Ablity 之间的跳转

    Intent intent = new Intent();
    // 通过Intent中的OperationBuilder类构造operation对象,指定设备标识(空串表示当前设备)、
    应用包名、Ability名称
    
    Operation operation = new Intent.OperationBuilder()
            .withDeviceId("")//可以省略不写
            .withBundleName("com.demoapp")//应用包名
            .withAbilityName("com.demoapp.FooAbility")//Ability的全路径也可以简写成(".FooAbility")
            .build();
            
    // 把operation设置到intent中
    intent.setOperation(operation);
    startAbility(intent);

2.Slice之间的跳转,传值、回传值
参考连接
3.Ablity之间的跳转,而且是跳转到另一个Ablity中一个特定的Slice**

  1. 在config.json中修改要跳转到的ablity
    "abilities": [
      {
        "skills": [
          {
            "actions": [
              "gjw"//这个是可以自定义的随便写
            ]
          }
        ],
        "orientation": "unspecified",
        "name": "com.gjw.firstdemo.MainAbility",
        "icon": "$media:icon",
        "description": "$string:mainability_description",
        "label": "$string:app_name",
        "type": "page",
        "launchType": "standard"
      }
    ]
   
  1. 在要跳转到的ablity的文件中进行修改
  public void onStart(Intent intent) {
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());
        addActionRoute("gjw","com.gjw.firstdemo.slice.SecondAbilitySlice");//这行代码是重点
    }
}
  1. 进行跳转
 Intent intent = new Intent();
  Operation operation = new Intent.OperationBuilder()
   withAction("gjw").build();
  intent.setOperation(operation);
  startAbility(intent);

跳转过程:

1.点击进行跳转的时候,通过withAction("gjw")方法去config.json中找到对应的action,
2.通过对应的action“gjw”找到对应的ablity
3.找到对应的ablit之后,通过  addActionRoute("gjw","com.gjw.firstdemo.slice.SecondAbilitySlice");方法找到跳转的slice
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值