【FAQ】HarmonyOS SDK 闭源开放能力 — Background Tasks Kit

1.问题描述:

申请了长时任务,但应用切到后台一段时间后会自动终止。

解决方案:

【背景知识】

应用退至后台后,在后台需要长时间运行用户可感知的任务,如播放音乐、导航等。为防止应用进程被挂起,导致对应功能异常,可以申请长时任务,使应用在后台长时间运行。

【解决方案】

长时任务支持的类型,包含数据传输、音视频播放、录制、定位导航、蓝牙相关业务、多设备互联、音视频通话和计算任务,具体不同类型规格参数以及对应使用场景可查看长时任务使用规格

在长时任务中,支持同时申请多种类型的任务,也可以对任务类型进行更新。应用退至后台执行业务时,系统会做一致性校验,确保应用在执行相应的长时任务。

详细的约束与限制可查看长时任务的约束与限制。开发流程参考长时任务的开发流程。

2.问题描述:

一个应用是否能启动多个长时任务?

解决方案:

不是多UIAbility场景下不支持,长时任务有数量限制,一个UIAbility(FA模型则为ServiceAbility)同一时刻仅支持申请一个长时任务,即在一个长时任务结束后才可能继续申请。如果一个应用同时需要申请多个长时任务,需要创建多个UIAbility;一个应用的一个UIAbility申请长时任务后,整个应用下的所有进程均不会被挂起。

3.问题描述:

使用socket实现后台消息推送,接入长时任务后,为什么锁屏后长时任务仍被杀死?

解决方案:

数据传输规格为传输速度(上传+下载)持续60秒低于16kB/s时,长时任务会被杀死。建议提高传输速度,保证每60秒内发送一次数据量大于16kB的心跳包,防止长时任务被杀死。

4.问题描述:

在后台对RDB进行超过3分钟的插入更新操作,可以使用长时任务的哪种类型?

解决方案:

当前对于PC/2in1设备,可以使用TASK_KEEPING长时任务类型插入更新RDB;对于手机和平板暂不支持使用长时任务进行RDB的插入更新操作。

5.问题描述:

长时任务启动后,任务栏的系统提示信息"xxx应用在后台进行数据传输任务"是否可以自定义?

解决方案:

通知内容是一个固定值,长时任务不一样提示的信息也不一样,目前不可以自定义。

6.问题描述:

定位的长时任务可以保活多久?

解决方案:

正常情况下,定位的长时任务可以一直保活。但是位置长时间保持不动,应用会被挂起,保活结束。

相关推荐
小白学鸿蒙8 小时前
新手记录使用uniapp-x开发鸿蒙应用
华为·uni-app·harmonyos
●VON9 小时前
双非大学生自学鸿蒙5.0零基础入门到项目实战 -ArkTs核心
华为·harmonyos·arkts·arkui
爱笑的眼睛1119 小时前
HarmonyOS Span文本片段富文本编辑深度解析
华为·harmonyos
爱笑的眼睛1119 小时前
HarmonyOS相机开发:深入解析预览与拍照参数配置
华为·harmonyos
爱笑的眼睛111 天前
深入理解ArkTS装饰器:提升HarmonyOS应用开发效率
华为·harmonyos
Damon小智1 天前
HarmonyOS 5 开发实践:分布式任务调度与设备协同架构
分布式·架构·harmonyos
●VON1 天前
双非大学生自学鸿蒙5.0零基础入门到项目实战 -《基础篇》
android·华为·harmonyos·鸿蒙
Damon小智2 天前
鸿蒙分布式数据服务(DDS)原理与企业同步实战
分布式·华为·harmonyos
猫林老师2 天前
HarmonyOS自动化测试与持续集成实战指南
ci/cd·华为·harmonyos