Ability跳转方式
准备阶段
参考资料 AbilitySlice间导航,Intent,Ability
新建TwoAbility界面(如下图所示)
1、startAbility
mainAbilitySlice代码如下
new Intent();
Operation operation=new
2、startAbilityForResult
mainAbilitySlice 写startAbilityForResult
new Intent();
Operation operation = new Intent.OperationBuilder()
.withBundleName(getBundleName())
.withAbilityName(TwoAbility.class.getName())
.build();
intent.setOperation(operation);
startAbilityForResult(intent, 1001);
在mainAbilitySlice 重写onAbilityResult的方法,代码如下
@Override
protected void onAbilityResult(int requestCode, int resultCode, Intent resultData) {
super.onAbilityResult(requestCode, resultCode, resultData);
if (requestCode == 1001 && resultCode == 1002) {
IntentParams myIntentParams= resultData.getParams();
String value= (String) myIntentParams.getParam("key");
System.err.println("#####"
在TwoAbilitySlice调用setResult的方法
new Intent();
intent.setParam("key","value");
getAbility().setResult(1002,intent);
terminateAbility();//todo 关闭该Ability
AbilitySlice跳转方式
同一Page内导航
1、present
在mainAbilitySlice写代码如下
new TwoAbilitySlice(),new
2、presentForResult
在mainability使用presentForResult的方法,代码如下
new TwoAbilitySlice(),new Intent(),1003);
在mainabilitySlice重写onResult的方法,代码如下
void onResult(int requestCode, Intent resultIntent) {
if (requestCode == 1003) {
IntentParams intentParams= resultIntent.getParams();
String value= (String) intentParams.getParam("key");
System.err.println("#####"+value);
}
}
在TwoabilitySlice实现点击并关闭该界面
new Intent();
intent.setParam("key","value");
setResult(intent);
terminate();//todo 关闭该AbilitySlice
不同Page间导航
1、准备工作
在MainAbility的onStart方法中调用addActionRoute的方法,代码如下
void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(MainAbilitySlice.class.getName());
addActionRoute("com.pay", TwoAbilitySlice.class.getName());
}
2、在mainAbilitySlice调用 startAbility的方法,代码如下
new Intent();
Operation operation=new Intent.OperationBuilder()
.withBundleName(getBundleName())
.withAction("com.pay")//todo action 要和TwoAbilitySlice的action相同
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh