在 HarmonyO S中,分布式任務(wù)調(diào)度平臺(tái)對(duì)搭載 HarmonyOS 的多設(shè)備構(gòu)筑的“超級(jí)虛擬終端”提供統(tǒng)一的組件管理能力,為應(yīng)用定義統(tǒng)一的能力基線、接口形式、數(shù)據(jù)結(jié)構(gòu)、服務(wù)描述語(yǔ)言,屏蔽硬件差異;支持遠(yuǎn)程啟動(dòng)、遠(yuǎn)程調(diào)用、業(yè)務(wù)無(wú)縫遷移等分布式任務(wù)。
分布式任務(wù)調(diào)度平臺(tái)在底層實(shí)現(xiàn) Ability(分布式任務(wù)調(diào)度的基本組件)跨設(shè)備的啟動(dòng)/關(guān)閉、連接及斷開連接以及遷移等能力,實(shí)現(xiàn)跨設(shè)備的組件管理:
- 啟動(dòng)和關(guān)閉:向開發(fā)者提供管理遠(yuǎn)程 Ability 的能力,即支持啟動(dòng) Page 模板的 Ability,以及啟動(dòng)、關(guān)閉 Service 和 Data 模板的 Ability。
- 連接和斷開連接:向開發(fā)者提供跨設(shè)備控制服務(wù)( Service 和 Data 模板的 Ability )的能力,開發(fā)者可以通過(guò)與遠(yuǎn)程服務(wù)連接及斷開連接實(shí)現(xiàn)獲取或注銷跨設(shè)備管理服務(wù)的對(duì)象,達(dá)到和本地一致的服務(wù)調(diào)度。
- 遷移能力:向開發(fā)者提供跨設(shè)備業(yè)務(wù)的無(wú)縫遷移能力,開發(fā)者可以通過(guò)調(diào)用 Page 模板 Ability 的遷移接口,將本地業(yè)務(wù)無(wú)縫遷移到指定設(shè)備中,打通設(shè)備間壁壘。
約束與限制
- 開發(fā)者需要在 Intent 中設(shè)置支持分布式的標(biāo)記(例如:Intent.FLAG_ABILITYSLICE_MULTI_DEVICE 表示該應(yīng)用支持分布式調(diào)度),否則將無(wú)法獲得分布式能力。
- 開發(fā)者通過(guò)在 config.json 中添加分布式數(shù)據(jù)傳輸?shù)臋?quán)限申請(qǐng):{"name": "ohos.permission.servicebus.ACCESS_SERVICE"},獲取跨設(shè)備連接的能力。
- PA( Particle Ability,Service 和 Data 模板的 Ability)的調(diào)用支持連接及斷開連接、啟動(dòng)及關(guān)閉這四類行為,在進(jìn)行調(diào)度時(shí):
- 開發(fā)者必須在 Intent 中指定 PA 對(duì)應(yīng)的 bundleName 和 abilityName。
- 當(dāng)開發(fā)者需要跨設(shè)備啟動(dòng)、關(guān)閉或連接 PA 時(shí),需要在 Intent 中指定對(duì)端設(shè)備的 deviceId。開發(fā)者可通過(guò)如設(shè)備管理類 DeviceManager 提供的 getDeviceList 獲取指定條件下匿名化處理的設(shè)備列表,實(shí)現(xiàn)對(duì)指定設(shè)備 PA 的啟動(dòng)/關(guān)閉以及連接管理。
- FA(Feature Ability,Page 模板的 Ability)的調(diào)用支持啟動(dòng)和遷移行為,在進(jìn)行調(diào)度時(shí):
- 當(dāng)啟動(dòng) FA 時(shí),需要開發(fā)者在 Intent 中指定對(duì)端設(shè)備的 deviceId、bundleName 和 abilityName。
- FA 的遷移實(shí)現(xiàn)相同 bundleName 和 abilityName 的 FA 跨設(shè)備遷移,因此需要指定遷移設(shè)備的 deviceId。
更多建議: