在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙OS 跨設備遷移

王程 ? 2024-01-31 15:47 ? 次閱讀

跨設備遷移(下文簡稱“遷移”)支持將 Page 在同一用戶的不同設備間遷移,以便支持用戶無縫切換的訴求。以 Page 從設備 A 遷移到設備 B 為例,遷移動作主要步驟如下:

  • 設備 A 上的 Page 請求遷移。
  • HarmonyOS 處理遷移任務,并回調設備 A 上 Page 的保存數據方法,用于保存遷移必須的數據。
  • HarmonyOS 在設備 B 上啟動同一個 Page,并回調其恢復數據方法。
    開發者可以參考以下詳細步驟開發具有遷移功能的 Page。

實現 IAbilityContinuation 接口

onStartContinuation()
Page 請求遷移后,系統首先回調此方法,開發者可以在此回調中決策當前是否可以執行遷移,比如,彈框讓用戶確認是否開始遷移。

onSaveData()
如果 onStartContinuation() 返回 true ,則系統回調此方法,開發者在此回調中保存必須傳遞到另外設備上以便恢復 Page 狀態的數據。

onRestoreData()
源側設備上 Page 完成保存數據后,系統在目標側設備上回調此方法,開發者在此回調中接受用于恢復 Page 狀態的數據。注意,在目標側設備上的 Page 會重新啟動其生命周期,無論其啟動模式如何配置。且系統回調此方法的時機在 onStart() 之前。

onCompleteContinuation()
目標側設備上恢復數據一旦完成,系統就會在源側設備上回調 Page 的此方法,以便通知應用遷移流程已結束。開發者可以在此檢查遷移結果是否成功,并在此處理遷移結束的動作,例如,應用可以在遷移完成后終止自身生命周期。

onRemoteTerminated()
如果開發者使用 continueAbilityReversibly() 而不是 continueAbility(),則此后可以在源側設備上使用 reverseContinueAbility() 進行回遷。這種場景下,相當于同一個 Page(的兩個實例)同時在兩個設備上運行,遷移完成后,如果目標側設備上 Page 因任何原因終止,則源側 Page 通過此回調接收終止通知。

說明
一個應用可能包含多個 Page,僅支持遷移的 Page 需要實現 IAbilityContinuation 接口。同時,此 Page 所包含的所有 AbilitySlice 也需要實現此接口。

請求遷移

實現 IAbilityContinuation 的 Page 可以在其生命周期內,調用 continueAbility() 或 continueAbilityReversibly() 請求遷移。兩者的區別是,通過后者發起的遷移此后可以進行回遷。

try {
    continueAbility();
} catch (IllegalStateException e) {
    // Maybe another continuation in progress.
    ...
}

以 Page 從設備 A 遷移到設備B為例,詳細的流程如下:

1.設備 A 上的 Page 請求遷移。
2.系統回調設備 A 上 Page 及其 AbilitySlice 棧中所有 AbilitySlice 實例的 IAbilityContinuation.onStartContinuation() 方法,以確認當前是否可以立即遷移。
3.如果可以立即遷移,則系統回調設備 A 上 Page 及其 AbilitySlice 棧中所有 AbilitySlice 實例的 IAbilityContinuation.onSaveData() 方法,以便保存遷移后恢復狀態必須的數據。
4.如果保存數據成功,則系統在設備 B 上啟動同一個 Page ,并恢復 AbilitySlice 棧,然后回調 IAbilityContinuation.onRestoreData() 方法,傳遞此前保存的數據;此后設備 B 上此 Page 從 onStart() 開始其生命周期回調。
6.系統回調設備 A 上 Page 及其 AbilitySlice 棧中所有 AbilitySlice 實例的 IAbilityContinuation.onCompleteContinuation() 方法,通知數據恢復成功與否。

請求回遷

使用 continueAbilityReversibly() 請求遷移并完成后,源側設備上已遷移的 Page 可以發起回遷,以便使用戶活動重新回到此設備。

try {
    reverseContinueAbility();
} catch (IllegalStateException e) {
    // Maybe another continuation in progress.
    ...
}

以Page從設備A遷移到設備B后并請求回遷為例,詳細的流程如下:

1.設備 A 上的 Page 請求回遷。
2.系統回調設備 B 上 Page 及其 AbilitySlice 棧中所有 AbilitySlice 實例的 IAbilityContinuation.onStartContinuation() 方法,以確認當前是否可以立即遷移。
3.如果可以立即遷移,則系統回調設備 B 上 Page 及其 AbilitySlice 棧中所有 AbilitySlice 實例的 IAbilityContinuation.onSaveData() 方法,以便保存回遷后恢復狀態必須的數據。
4.如果保存數據成功,則系統在設備 A 上 Page 恢復 AbilitySlice 棧,然后回調 IAbilityContinuation.onRestoreData() 方法,傳遞此前保存的數據。
5.如果數據恢復成功,則系統終止設備 B 上 Page 的生命周期。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 鴻蒙
    +關注

    關注

    59

    文章

    2543

    瀏覽量

    43840
  • HarmonyOS
    +關注

    關注

    80

    文章

    2085

    瀏覽量

    32351
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    AKI語言調用庫神助攻C/C++代碼遷移至HarmonyOS NEXT

    /C++代碼快速遷移至HarmonyOS NEXT。憑借卓越的兼容性,AKI已成為廠商與開發者打造鴻蒙原生應用過程中廣泛使用的語言調用解決方案。 AKI是一款專為鴻蒙原生開發設計的
    發表于 01-02 17:08

    如何理解鴻蒙OS設備的?

    誰能幫忙解釋鴻蒙OS是怎樣實現平臺的?
    發表于 09-08 18:17

    鴻蒙OS適用的全場景到底什么意思?

    上,未來會有越來越多的智能設備使用開源的鴻蒙OS。華為消費者業務CEO余承東在介紹鴻蒙OS開發初衷時表示:“隨著全場景智慧時代的到來,華為認
    發表于 09-25 09:25

    鴻蒙os系統是什么意思 鴻蒙os系統有什么作用

    適配智慧屏,未來它將適配手機,平板,電腦,智能汽車,可穿戴設備等多終端設備鴻蒙微內核是基于微內核的全場景分布式OS,可按需擴展,實現更廣泛的系統安全,主要用于物聯網,特點是低時延,甚
    發表于 12-17 11:34

    HarmonyOS分布式——設備遷移

    HarmonyOS分布式——設備遷移
    發表于 06-26 14:34

    通過HarmonyOS分布式能力實現任務的設備遷移設計資料分享

    的文檔或圖片素材,此時需要在不同設備間反復操作。想要解決這些問題,我們可以通過 HarmonyOS 的分布式能力實現任務的設備遷移,保證業務在手機、平板等終端間無縫銜接,輕松的完成多
    發表于 03-25 16:59

    HarmonyOS應用開發-DiseributedVideoCodelab設備視頻遷移

    說明:此Demo用于設備遷移視頻內容。您可以方便地跨設備遷移視頻內容,然后在源設備遠程控制、操
    發表于 07-05 10:24

    華為鴻蒙OS正式發布 它的安全性能如何

    鴻蒙OS采用全新的微內核設計,安全性更強,時延更低,同時還將用于可信執行環境,通過形式化的方式提升可信安全;鴻蒙OS可通過統一多終端開發工具IDE進行開發,方便開發者進行多語言統一編譯
    的頭像 發表于 08-09 17:25 ?2069次閱讀

    華為鴻蒙OS又有嚇人的設計 蘋果的Carplay在鴻蒙OS面前真的自嘆不如

    的終端,包括汽車、電視機、手機、可穿戴設備等等終端上,所以華為鴻蒙OS的使用范圍從介紹上來看還是非常廣泛地。
    的頭像 發表于 08-27 10:25 ?9097次閱讀

    鴻蒙OS與Lite OS的區別是什么

    鴻蒙OS鴻蒙OS面向未來、面向全場景、分布式。在單設備系統能力基礎上,鴻蒙
    的頭像 發表于 12-24 12:40 ?5465次閱讀

    華為鴻蒙OS系統2.0有哪些優勢?具備哪些功能?

    鴻蒙OS 2.0終于從傳聞走到了臺前,具備設備、服務流轉、極速直達、可視可說、隱私安全五大能力。
    的頭像 發表于 04-28 17:24 ?8061次閱讀

    什么是HarmonyOS“設備遷移”?

    什么是HarmonyOS“設備遷移”? HarmonyOS“設備遷移”是指將承載業務的Pag
    的頭像 發表于 06-25 17:32 ?5798次閱讀

    鴻蒙OS 分布式任務調度

    鴻蒙OS 分布式任務調度概述 在 HarmonyO S中,分布式任務調度平臺對搭載 HarmonyOS 的多設備構筑的“超級虛擬終端”提供統一的組件管理能力,為應用定義統一的能力基線、接口
    的頭像 發表于 01-29 16:50 ?842次閱讀

    鴻蒙OS和開源鴻蒙什么關系?

    開源鴻蒙(Open Harmony) 鴻蒙系統愿來的設計初衷,就是讓所有設備都可以運行一個系統,但是每個設備的運算能力和功能都不同,所以內核的設計上,采用了微內核的設計,除了最基礎的功
    的頭像 發表于 01-30 15:44 ?1620次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OS</b>和開源<b class='flag-5'>鴻蒙</b>什么關系?

    鴻蒙開發:應用組件設備交互(流轉)【遷移

    遷移的核心任務是將應用的當前狀態(包括頁面控件、狀態變量等)無縫遷移到另一設備,從而在新設備上無縫接續應用體驗。這意味著用戶在一臺
    的頭像 發表于 06-11 17:10 ?1937次閱讀
    <b class='flag-5'>鴻蒙</b>開發:應用組件<b class='flag-5'>跨</b><b class='flag-5'>設備</b>交互(流轉)【<b class='flag-5'>跨</b>端<b class='flag-5'>遷移</b>】
    主站蜘蛛池模板: 曰本在线网 | 热久久这里只有精品 | 99久久99这里只有免费费精品 | 国产免费人成在线视频视频 | 欧美一区二区三区在线观看免费 | 黄网站观看 | 性做久久久久久久免费观看 | 一级片在线免费观看 | 色人在线 | 欧美色图综合 | 韩国朴银狐诱感在线观看 | 日本黄色免费网站 | 色综合成人网 | 成人亚洲欧美在线电影www色 | 华人黄网站大全 | 色视频在线| 天天操天天舔天天干 | 午夜日韩 | 精品福利在线视频 | 狠狠干天天操 | 婷婷国产成人久久精品激情 | 色女人久久 | 夜夜操美女 | 国产亚洲精品久久久久久午夜 | 国产婷婷 | 丁香婷婷网 | 亚洲午夜小视频 | 亚洲最大黄色网址 | 色女人在线视频 | 最近2018中文字幕免费看2019 | 天天爱天天干天天操 | 四虎新地址 | 在线观看免费黄视频 | 男女视频在线观看免费 | 免费视频在线视频观看1 | 国模大尺度在线 | 国产精品天天看天天爽 | 黄视频网站在线观看 | 国产在线观看午夜不卡 | 真爽~张开腿~让我插 | 91av视频 |