【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.问题描述:

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

解决方案:

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

相关推荐
lilian2333 分钟前
HarmonyOS 7 新特性(二十一)|FAST Kit:自然排序与向量计算
华为·harmonyos
tsqtsqtsq03097 分钟前
鸿蒙系统 Call Service Kit 功能详解与开发适配指南
华为·harmonyos
贾伟康1 小时前
【时光清单|17】HarmonyOS ArkTS 亮暗色与视觉令牌实战:集中颜色、间距和交互状态避免页面割裂
harmonyos·arkts·arkui·深色模式·设计系统
贾伟康1 小时前
【时光清单|15】HarmonyOS ArkTS 本地状态持久化实战:让保存、删除和页面返回后的数据即时一致
harmonyos·arkts·状态管理·preferences·arkdata
HarmonyOS_SDK9 小时前
焕新鸿蒙应用权限管理方案,应用授权体验再升级
harmonyos
贾伟康2 天前
【天体运行模拟|11】HarmonyOS ArkTS 收藏与笔记实战:同步知识页和个人学习记录
harmonyos·arkts·preferences·多设备适配·arkdata
2501_919749032 天前
华为鸿蒙录音可视化APP—小羊声觉
华为·harmonyos·鸿蒙
大雷神2 天前
HarmonyOS AR Engine深度估计实战——把毫米距离画成实时热力图
华为·ar·harmonyos
GKxx2 天前
在 HarmonyOS 上给 QEMU 搭一个最小 aarch64 Linux guest(内核 + busybox initramfs)
linux·华为·qemu·harmonyos·鸿蒙·鸿蒙pc
贾伟康2 天前
【天体运行模拟|08】HarmonyOS ArkTS 单位换算实战:处理天文尺度、科学计数与精度
harmonyos·arkts·arkui·数值精度·单位换算