Stories

Detail Return Return

【FAQ】HarmonyOS SDK 閉源開放能力 — Background Tasks Kit - Stories Detail

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.問題描述:

定位的長時任務可以保活多久?

解決方案:

正常情況下,定位的長時任務可以一直保活。但是位置長時間保持不動,應用會被掛起,保活結束。

Add a new Comments

Some HTML is okay.