写点什么

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

作者:HarmonyOS SDK
  • 2025-11-03
    贵州
  • 本文字数:888 字

    阅读完需:约 3 分钟

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


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


解决方案:


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

用户头像

HarmonyOS SDK

关注

HarmonyOS SDK 2022-06-16 加入

HarmonyOS SDK通过将HarmonyOS系统级能力对外开放,支撑开发者高效打造更纯净、更智能、更精致、更易用的鸿蒙应用,和开发者共同成长。

评论

发布
暂无评论
【FAQ】HarmonyOS SDK 闭源开放能力 — Background Tasks Kit_HarmonyOS NEXT_HarmonyOS SDK_InfoQ写作社区