在一个页面怎么实现多个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
相关问题
编写一个页面实现不规则列表
401浏览 • 1回复 待解决
编译一个页面,实现选座场景
382浏览 • 1回复 待解决
编写一个页面,实现吸顶效果
441浏览 • 1回复 待解决
Hi3861怎么获取一个随机数?
10348浏览 • 1回复 已解决
如何实现一个折叠组件
448浏览 • 1回复 待解决
ArkTS如何实现一个底部弹窗?
128浏览 • 1回复 待解决