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

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

解决方案:

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

相关推荐
三声三视25 分钟前
ArkTS 性能优化实战:从卡顿分析到高帧率应用全攻略
华为·性能优化·harmonyos·鸿蒙
小雨青年2 小时前
鸿蒙 HarmonyOS 6 | PDFKit预览能力升级实战
华为·harmonyos
花先锋队长3 小时前
鸿蒙6.1加持菜鸟App:地理围栏+实况窗,靠近驿站自动提醒,取件不再遗漏
华为·智能手机·harmonyos
nashane3 小时前
HarmonyOS 6学习:页面跳转弹窗状态保持全解析
学习·华为·harmonyos·harmonyos 5
maaath3 小时前
【maaath】Flutter for OpenHarmony 实战:电影榜单应用开发指南
flutter·华为·harmonyos
若兰幽竹5 小时前
【HarmonyOS 6.1 全场景实战】开篇词:打造消除“吃饭焦虑”的《灵犀厨房》
harmonyos·鸿蒙开发·华为鸿蒙系统
机构师5 小时前
<鸿蒙><APP><3D>鸿蒙3D开发,如何获取ktx格式的天空盒图?
华为·harmonyos
xmdy58666 小时前
Flutter+开源鸿蒙实战|智安盾电商溯源平台Day6 登录逻辑+积分体系+全局收尾优化
flutter·华为·harmonyos
前端不太难7 小时前
AISystem:鸿蒙游戏中的 AI 行为驱动
人工智能·游戏·harmonyos
xmdy58669 小时前
Flutter+开源鸿蒙实战|智联邻里Day1 项目搭建+环境适配+架构规划(十五五民生创新版)
flutter·开源·harmonyos