跳转到指定Page的指定AbilitySlice
?
MainAbilitySlice按钮触发事件:
?btn.setClickedListener(component -> {
? ? ? ? ? ? Intent _intent = new Intent();
? ? ? ? ? ? Operation operation = new Intent.OperationBuilder()
? ? ? ? ? ? ? ? ? ? .withBundleName( getBundleName())
? ? ? ? ? ? ? ? ? ? .withAction(SecondPageAbility.ACTION_TARGET)
? ? ? ? ? ? ? ? ? ? .withAbilityName(SecondPageAbility.class.getName())
? ? ? ? ? ? ? ? ? ? .build();
? ? ? ? ? ? _intent.setOperation(operation);
? ? ? ? ? ? startAbility(_intent);
? ? ? ? });
package com.example.myapplication3.slice;
import com.example.myapplication3.ResourceTable;
import com.example.myapplication3.SecondPageAbility;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.aafwk.content.Operation;
import ohos.agp.components.Button;
import ohos.agp.components.Component;
import ohos.agp.components.Text;
import ohos.utils.IntentConstants;
public class MainAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_main);
Text text = (Text) findComponentById(ResourceTable.Id_text_main);
Button btn = (Button) findComponentById(ResourceTable.Id_btn_main);
text.setClickedListener(new Component.ClickedListener() {
@Override
public void onClick(Component component) {
Intent _intent = new Intent();
Operation operation = new Intent.OperationBuilder()
.withDeviceId("")
.withBundleName(getBundleName())
.withAbilityName(SecondPageAbility.class.getName())
// .withAction(SecondPageAbility.ACTION_TARGET)
.build();
_intent.setOperation(operation);
// _intent.setAction(SecondPageAbility.ACTION_TARGET);
startAbility(_intent);
}
});
btn.setClickedListener(component -> {
Intent _intent = new Intent();
Operation operation = new Intent.OperationBuilder()
.withBundleName( getBundleName())
.withAction(SecondPageAbility.ACTION_TARGET)
.withAbilityName(SecondPageAbility.class.getName())
.build();
_intent.setOperation(operation);
startAbility(_intent);
});
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
SecondPageAbility设置actionRoute
package com.example.myapplication3;
import com.example.myapplication3.slice.SecondPageAbilitySlice;
import com.example.myapplication3.slice.TargetAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
public class SecondPageAbility extends Ability {
public static final String ACTION_TARGET = "action.intent.target_ability_slice";
public static final String ACTION_Second = "action.intent.second_ability_slice";
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(SecondPageAbilitySlice.class.getName());
// super.addActionRoute(ACTION_Second, SecondPageAbilitySlice.class.getName());
super.addActionRoute(ACTION_TARGET, TargetAbilitySlice.class.getName());
// super.addActionRoute("action.intent.target_ability_slice", TargetAbilitySlice.class.getName());
}
}
config.json添加,skills/actions
?capsule_btn_element.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:shape="rectangle">
<corners
ohos:radius="100"/>
<solid
ohos:color="#007CFD"/>
</shape>
按钮样式的使用方法:
工程代码: