在一个页面怎么实现多个AbilitySlice?

在Ability中已经定义了一个super.setMainRoute(MainAbilitySlice.class.getName());这已经把AbilitySlice固定了,要想在开出一个AbilitySlice,难道还要在写一行super.setMainRoute(MainAbilitySlice.class.getName());吗?

还有PA和FA有什么区别? 是类似android中activity和fragment的区别吗?

#每日一问一答#

 

鸿蒙开发
2021-01-06 10:27:47
浏览
2
收藏 0
回答 5
待解决
回答 5
按赞同
/
按时间
红叶亦知秋
7

鸿蒙OS将Ability分为两大类:
1. 带显示功能的Ability,Feature Ability(FA 功能能力,前台)
2. 不带显示功能的Ability,Particle Ability(PA,后台)
PA 再细分为Service Ability(服务能力)和 Data Ability(数据能力)

分享
微博
QQ
微信
回复
2021-01-06 14:14:07
鸿蒙张荣超
3

可以调用方法addActionRoute(),如下所示:

public class MainAbility extends Ability {
    @Override
    public void onStart(Intent intent) {
        super.onStart(intent);
        super.setMainRoute(MainAbilitySlice.class.getName());

 

        addActionRoute("slice1", AbilitySlice1.class.getName());
    }
}

同时,在config.json里对应的MainAbility中添加如下配置:

"actions": [
  "abilityslice1"
]

这样,就可以通过startAbility(new Intent().setAction("abilityslice1"))访问AbilitySlice1了。

分享
微博
QQ
微信
回复
2021-02-09 22:55:42
BLUESKYHOST
2

有解决方案吗我也需要因为我要做底部导航这个问题

分享
微博
QQ
微信
回复
2021-02-06 09:18:41
00000k
2

还有个fraction,java api文档中有,可以参考下

分享
微博
QQ
微信
回复
2021-02-07 01:08:20
BLUESKYHOST
1

你想实现什么功能,有这个需求

分享
微博
QQ
微信
回复
2021-02-07 15:09:38
相关问题
Hi3861怎么获取一个随机数?
9612浏览 • 1回复 已解决
PageAbility配合多个Slice实现页面间切换
11855浏览 • 4回复 已解决
有谁知道如何实现一个表格
176浏览 • 1回复 待解决
鸿蒙 如何实现一个渐变的圆形图片;
10465浏览 • 2回复 已解决
如何实现一个组件不停地旋转
299浏览 • 1回复 待解决
如何实现一个GIF图显示指定次数
243浏览 • 1回复 待解决
页面导航如何实现页面叠层
243浏览 • 1回复 待解决