【HarmonyOS NEXT】FAQ之应用框架(程序框架2)

1、服务卡片EntryFormAbility生命周期回调函数在哪个ArkTS文件中调用

A:新建卡片时会生成一个EntryFormAbility.ets文件,其中包含卡片对应的生命周期。

2、UIAbility如何刷新ArkTS卡片

A:在卡片页面中可以通过postCardAction接口触发router事件或者call事件拉起UIAbility,然后由UIAbility刷新卡片内容。

3、UIAbility是否可以做到对部分白名单应用可见

A:abilities配置中,exported标签用于控制UIAbility是否可见,permissions标签标识被其它应用的UIAbility调用时需要申请的权限的集合,没有配置应用白名单选项。

4、startAbility()跳转UIAbility不成功,错误码16000001

A:16000001表示指定的UIAbility名称不存在。检查want中参数是否正确或者指定的UIAbility是否存在。

5、多Module应用通过startAbility()启动时报错

A:单击Run > Edit Configurations,设置指定模块的HAP安装方式,勾选“Keep Application Data”,则表示采用覆盖安装方式,保留应用/服务缓存数据。

点击放大

6、什么场景下需要使用到多个UIAbility

A:UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。每一个UIAbility组件实例都会在最近任务列表中显示一个对应的任务。一个应用可以包含一个或多个UIAbility组件,因此对于开发者有如下建议:

  • 如果开发者希望在任务视图中看到一个任务,则建议使用一个UIAbility,多个页面的方式。

  • 如果开发者希望在任务视图中看到多个任务,或者需要同时开启多个窗口,则建议使用多个UIAbility开发不同的模块功能。

7、若应用有多个UIAbility,为何桌面点击应用后显示的永远是同一个UIAbility

A:点击桌面图标会进入应用的主界面,即开发者为应用设置的入口UIAbility。可以通过startAbility拉起特定的UIAbility,或者通过最近任务列表进入已经打开过的UIAbility。

8、启动一个UIAbility后,如何感知该UIAbility的销毁,并执行某些操作

A:可以通过startAbilityForResult拉起新UIAbility,并在callback中执行返回调用方时需要执行的操作。

9、启动一个已启动的UIAbility,什么情况下才会执行onNewWant()回调

A:当该UIAbility配置为单实例模式时,再次调用startAbility()方法启动该UIAbility实例,才会进入该UIAbility的onNewWant()回调。

10、UIAbility跳转时,如何指定跳转的窗口模式

A:当前只允许系统应用配置跳转时的窗口模式,具体方法为:startAbility/startAbilityForResult等方法配置options参数的windowMode字段。

11、UIAbility在onBackground执行耗时操作时是否会影响另外一个UIAbility的onForeground

A:如下

  • 不同UIAbility生命周期是相互独立的,不会互相影响

  • 同一个UIAbility生命周期中的耗时操作会触发系统监控并冻结,因此应用开发过程中应使用异步的方法处理耗时操作,避免影响UIAbility生命周期的流转。

12、getContext(this)能否在自定义类中使用

A:getContext(this)中的this需要指向组件,所以只需确保自定义类在调用getContext时,传入的参数是指向组件的即可。

13、是否允许三方应用在手机设备上Fork进程

A:当前不允许三方应用在手机设备上Fork进程。

14、如何在Worker子线程的ArkTS文件中获取UIAbilityContext

A:在Worker线程中无法直接获取到组件级的Context,不能通过getContext获取上下文对象,如果有相关业务需求,只能从主线程通过getContext获取上下文Context,然后通过postMessage参数传递给Worker线程。

更多详情查看:文档中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值