harmonyOS不同page间的slice的跳转及导航

2020-12-21  本文已影响0人  harmonyOS小飞鱼

一)page跳转到另一个page

1)带参数,不带返回值

在slice中

intent1 =new Intent();

intent1.setParam("data","page跳转到page");

intent1.setAction("action.other.ability");//指定另一个page中的action的值

startAbility(intent1);

//===================================================================

"action.other.ability"需要在另一个page中的onStar方法配置跳转路由:

 1)addActionRoute("action.other.ability",OtherAbilitySlice.class.getName());

2)config.json需要配置

"skills": [

{

"actions":

    [

        "action.other.ability"

    ]

}

],

2)page跳转到page,带返回值

  MaindAbility的MainAbilitySlice中中

   intent1 =new Intent();

    intent1.setAction("action.other.ability");

    intent1.setParam("data","page跳转到page-带返回值");

    startAbilityForResult(intent1,1001);

/**

* ability回调

* @param requestCode

* @param resultCode

* @param resultData

*/

@Override

protected void onAbilityResult(int requestCode, int resultCode, Intent resultData)

{

super.onAbilityResult(requestCode, resultCode, resultData);

    if (requestCode ==1001)

{

String bundle = resultData.getStringParam("data");//获取回调后的内容

        HiLogUtils.HiLog("MainAbilitySlice:" +bundle);

        def_page_params.setText(bundle);

    }

}

//==========================================================

另一SecondAbility中在onStart()中

//配置跳转的路由的action

addActionRoute("action.other.ability",OtherAbilitySlice.class.getName());

@Override

protected void onActive()

{

   super.onActive();

    Intent intent =new Intent();

    intent.setParam("data","OtherAbility");

    setResult(1001,intent);

}

上一篇下一篇

猜你喜欢

热点阅读