【FAQ】HarmonyOS SDK 閉源開放能力 — Background Tasks Kit
1.問題描述:
申請(qǐng)了長時(shí)任務(wù),但應(yīng)用切到后臺(tái)一段時(shí)間后會(huì)自動(dòng)終止。
解決方案:
【背景知識(shí)】
應(yīng)用退至后臺(tái)后,在后臺(tái)需要長時(shí)間運(yùn)行用戶可感知的任務(wù),如播放音樂、導(dǎo)航等。為防止應(yīng)用進(jìn)程被掛起,導(dǎo)致對(duì)應(yīng)功能異常,可以申請(qǐng)長時(shí)任務(wù),使應(yīng)用在后臺(tái)長時(shí)間運(yùn)行。
【解決方案】
長時(shí)任務(wù)支持的類型,包含數(shù)據(jù)傳輸、音視頻播放、錄制、定位導(dǎo)航、藍(lán)牙相關(guān)業(yè)務(wù)、多設(shè)備互聯(lián)、音視頻通話和計(jì)算任務(wù),具體不同類型規(guī)格參數(shù)以及對(duì)應(yīng)使用場景可查看長時(shí)任務(wù)使用規(guī)格。
在長時(shí)任務(wù)中,支持同時(shí)申請(qǐng)多種類型的任務(wù),也可以對(duì)任務(wù)類型進(jìn)行更新。應(yīng)用退至后臺(tái)執(zhí)行業(yè)務(wù)時(shí),系統(tǒng)會(huì)做一致性校驗(yàn),確保應(yīng)用在執(zhí)行相應(yīng)的長時(shí)任務(wù)。
詳細(xì)的約束與限制可查看長時(shí)任務(wù)的約束與限制。開發(fā)流程參考長時(shí)任務(wù)的開發(fā)流程。
2.問題描述:
一個(gè)應(yīng)用是否能啟動(dòng)多個(gè)長時(shí)任務(wù)?
解決方案:
不是多UIAbility場景下不支持,長時(shí)任務(wù)有數(shù)量限制,一個(gè)UIAbility(FA模型則為ServiceAbility)同一時(shí)刻僅支持申請(qǐng)一個(gè)長時(shí)任務(wù),即在一個(gè)長時(shí)任務(wù)結(jié)束后才可能繼續(xù)申請(qǐng)。如果一個(gè)應(yīng)用同時(shí)需要申請(qǐng)多個(gè)長時(shí)任務(wù),需要?jiǎng)?chuàng)建多個(gè)UIAbility;一個(gè)應(yīng)用的一個(gè)UIAbility申請(qǐng)長時(shí)任務(wù)后,整個(gè)應(yīng)用下的所有進(jìn)程均不會(huì)被掛起。
3.問題描述:
使用socket實(shí)現(xiàn)后臺(tái)消息推送,接入長時(shí)任務(wù)后,為什么鎖屏后長時(shí)任務(wù)仍被殺死?
解決方案:
數(shù)據(jù)傳輸規(guī)格為傳輸速度(上傳+下載)持續(xù)60秒低于16kB/s時(shí),長時(shí)任務(wù)會(huì)被殺死。建議提高傳輸速度,保證每60秒內(nèi)發(fā)送一次數(shù)據(jù)量大于16kB的心跳包,防止長時(shí)任務(wù)被殺死。
4.問題描述:
在后臺(tái)對(duì)RDB進(jìn)行超過3分鐘的插入更新操作,可以使用長時(shí)任務(wù)的哪種類型?
解決方案:
當(dāng)前對(duì)于PC/2in1設(shè)備,可以使用TASK_KEEPING長時(shí)任務(wù)類型插入更新RDB;對(duì)于手機(jī)和平板暫不支持使用長時(shí)任務(wù)進(jìn)行RDB的插入更新操作。
5.問題描述:
長時(shí)任務(wù)啟動(dòng)后,任務(wù)欄的系統(tǒng)提示信息“xxx應(yīng)用在后臺(tái)進(jìn)行數(shù)據(jù)傳輸任務(wù)”是否可以自定義?
解決方案:
通知內(nèi)容是一個(gè)固定值,長時(shí)任務(wù)不一樣提示的信息也不一樣,目前不可以自定義。
6.問題描述:
定位的長時(shí)任務(wù)可以保活多久?
解決方案:
正常情況下,定位的長時(shí)任務(wù)可以一直保活。但是位置長時(shí)間保持不動(dòng),應(yīng)用會(huì)被掛起,保活結(jié)束。
浙公網(wǎng)安備 33010602011771號(hào)