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

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

解决方案:

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

相关推荐
威哥爱编程3 小时前
【鸿蒙开发案例篇】定点出击!鸿蒙6.0视频碰一碰流转+实时进度同步案例
harmonyos·arkts·arkui
嗝o゚5 小时前
鱼与熊掌可兼得?用Flutter+鸿蒙的混合架构破解性能与UI的世纪难题
flutter·架构·harmonyos
遇到困难睡大觉哈哈7 小时前
HarmonyOS 应用数据持久化概述:Preferences、KV-Store、RelationalStore 到底怎么选?
笔记·华为·harmonyos
宇擎智脑科技7 小时前
Flutter 对接高德地图 SDK 适配鸿蒙踩坑记录与通信架构解析
flutter·架构·harmonyos
嗝o゚8 小时前
鸿蒙智慧屏与Flutter适配:无硬件功能的兼容处理
flutter·华为·开源·harmonyos
luxy20048 小时前
HarmonyOS简易时钟应用
华为·harmonyos
俩毛豆9 小时前
基于HarmonyOS(NEXT)的超级App中的搜索架构实现(直播文字干货版)
成长·架构·app·harmonyos·搜索
嗝o゚11 小时前
开源鸿蒙 Flutter 应用包瘦身实战
flutter·华为·开源·harmonyos
云和数据.ChenGuang12 小时前
鸿蒙负一屏的技术定位与核心价值
华为·wpf·harmonyos
遇到困难睡大觉哈哈14 小时前
HarmonyOS 关系型数据库 RDB 数据持久化(ArkTS)实战:建库建表、CRUD、事务、FTS、性能优化,一篇搞懂
笔记·华为·harmonyos