女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙應(yīng)用開(kāi)發(fā)入門(mén)之跨設(shè)備遷移

鴻蒙系統(tǒng)HarmonyOS ? 來(lái)源:51cto ? 作者:zhonghongfa ? 2021-04-16 15:38 ? 次閱讀

1. 分布式任務(wù)調(diào)度概述

HarmonyOS中,分布式任務(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ù)。

2. 實(shí)現(xiàn)調(diào)度的約束與限制

1)遠(yuǎn)程調(diào)用PA/FA,開(kāi)發(fā)者需要在Intent中設(shè)置支持分布式的標(biāo)記(例如:Intent.FLAG_ABILITYSLICE_MULTI_DEVICE表示該應(yīng)用支持分布式調(diào)度),否則將無(wú)法獲得分布式能力。

2)開(kāi)發(fā)者通過(guò)在config.json中的reqPermissions字段里添加權(quán)限申請(qǐng):

(1)以獲取跨設(shè)備連接的能力和分布式數(shù)據(jù)傳輸?shù)臋?quán)限。

分布式數(shù)據(jù)傳輸?shù)臋?quán)限:

{“name”: “ohos.permission.servicebus.ACCESS_SERVICE”}

三方應(yīng)用使用權(quán)限:

{“name”: “ohos.permission.servicebus.DISTRIBUTED_DATASYNC”}

系統(tǒng)應(yīng)用使用權(quán)限:

{“name”: “com.huawei.hwddmp.servicebus.BIND_SERVICE”}

(2)另外還有三個(gè)獲取分布式設(shè)備信息需要的權(quán)限:

{“name”: “ohos.permission.DISTRIBUTED_DEVICE_STATE_CHANGE”},

{“name”: “ohos.permission.GET_DISTRIBUTED_DEVICE_INFO” },

{ “name”: “ohos.permission.GET_BUNDLE_INFO”}

注意:還需要在開(kāi)發(fā)的時(shí)候,要在Ability里主動(dòng)聲明,要用到的權(quán)限。

3)FA(Feature Ability,Page模板的Ability)的調(diào)用支持啟動(dòng)和遷移行為,在進(jìn)行調(diào)度時(shí):

(1)當(dāng)啟動(dòng)FA時(shí),需要開(kāi)發(fā)者在Intent中指定對(duì)端設(shè)備的deviceId、bundleName和abilityName。

(2)FA的遷移實(shí)現(xiàn)相同bundleName和abilityName的FA跨設(shè)備遷移,因此需要指定遷移設(shè)備的deviceId。

3. 實(shí)現(xiàn)場(chǎng)景介紹

下面以設(shè)備A(本地設(shè)備)和設(shè)備B(遠(yuǎn)端設(shè)備)為例,介紹下面我們要實(shí)現(xiàn)的場(chǎng)景:

1)設(shè)備A啟動(dòng)設(shè)備B的FA:在設(shè)備A上通過(guò)本地應(yīng)用提供的啟動(dòng)按鈕,啟動(dòng)設(shè)備B上對(duì)應(yīng)的FA。

2)設(shè)備A的FA遷移至設(shè)備B:設(shè)備A上通過(guò)本地應(yīng)用提供的遷移按鈕,將設(shè)備A的業(yè)務(wù)無(wú)縫遷移到設(shè)備B中。

3)設(shè)備A的FA遷移至設(shè)備B,還可以實(shí)現(xiàn)主動(dòng)撤回遷移。

4. 具體實(shí)現(xiàn)前先了解要用的接口

1)啟動(dòng)遠(yuǎn)程FA

startAbility(Intent intent)接口提供啟動(dòng)指定設(shè)備上FA和PA的能力,Intent中指定待啟動(dòng)FA的設(shè)備deviceId、bundleName和abilityName。

2)遷移FA

continueAbility(String deviceId)接口提供將本地FA遷移到指定設(shè)備上的能力,continueAbilityReversibly(String deviceId) 接口提供將本地FA遷移到指定設(shè)備上的能力,這種遷移可撤回, reverseContinueAbility()接口提供撤回遷移的能力。

5. 實(shí)戰(zhàn)遠(yuǎn)程啟動(dòng)FA頁(yè)面

1)編程實(shí)現(xiàn)上面場(chǎng)景的界面:

ability_main.xml

《?xml version=“1.0” encoding=“utf-8”?》

《DirectionalLayout

xmlns:ohos=“http://schemas.huawei.com/res/ohos”

ohos:height=“match_parent”

ohos:width=“match_parent”

ohos:orientation=“vertical”》

《Button

ohos:id=“$+id:migration_btn_01”

ohos:height=“match_content”

ohos:width=“300vp”

ohos:text=“1.啟動(dòng)遠(yuǎn)程設(shè)備的FA”

ohos:text_size=“20fp”

ohos:text_color=“#ffffff”

ohos:background_element=“$graphic:button_bg”

ohos:layout_alignment=“horizontal_center”

ohos:top_padding=“8vp”

ohos:bottom_padding=“8vp”

ohos:left_padding=“40vp”

ohos:right_padding=“40vp”

ohos:top_margin=“20vp”

/》

《Button

ohos:id=“$+id:migration_btn_02”

ohos:height=“match_content”

ohos:width=“300vp”

ohos:text=“2.遷移到遠(yuǎn)程設(shè)備”

ohos:text_size=“20fp”

ohos:text_color=“#ffffff”

ohos:background_element=“$graphic:button_bg”

ohos:layout_alignment=“horizontal_center”

ohos:top_padding=“8vp”

ohos:bottom_padding=“8vp”

ohos:left_padding=“40vp”

ohos:right_padding=“40vp”

ohos:top_margin=“20vp”

/》

《Button

ohos:id=“$+id:migration_btn_03”

ohos:height=“match_content”

ohos:width=“300vp”

ohos:text=“3.可遷回的遷移遠(yuǎn)程設(shè)備”

ohos:text_size=“20fp”

ohos:text_color=“#ffffff”

ohos:background_element=“$graphic:button_bg”

ohos:layout_alignment=“horizontal_center”

ohos:top_padding=“8vp”

ohos:bottom_padding=“8vp”

ohos:left_padding=“40vp”

ohos:right_padding=“40vp”

ohos:top_margin=“20vp”

/》

《/DirectionalLayout》1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.

復(fù)制button_bg.xml

《?xml version=“1.0” encoding=“utf-8”?》

《shape xmlns:ohos=“http://schemas.huawei.com/res/ohos”

ohos:shape=“rectangle”》

《solid ohos:color=“#007DFF”/》

《corners ohos:radius=“40”/》

《/shape》1.2.3.4.5.6.

復(fù)制MigrationAbility和MigrationBackAbility

// 調(diào)用AbilitySlice模板實(shí)現(xiàn)一個(gè)用于控制基礎(chǔ)功能的FA

// Ability和AbilitySlice類(lèi)均需要實(shí)現(xiàn)IAbilityContinuation及其方法,才可以實(shí)現(xiàn)FA遷移。AbilitySlice的代碼示例如下

public class SampleSlice extends AbilitySlice implements IAbilityContinuation {

@Override

public void onStart(Intent intent) {

super.onStart(intent);

super.setUIContent(layout);

}1.2.3.4.5.6.7.8.9.

復(fù)制ability_migration.xml

《?xml version=“1.0” encoding=“utf-8”?》

《DirectionalLayout

xmlns:ohos=“http://schemas.huawei.com/res/ohos”

ohos:height=“match_parent”

ohos:width=“match_parent”

ohos:background_element=“#00ffff”

ohos:orientation=“vertical”》

《Text

ohos:id=“$+id:text_title”

ohos:height=“match_content”

ohos:width=“250vp”

ohos:background_element=“#0088bb”

ohos:layout_alignment=“horizontal_center”

ohos:text=“下面是一個(gè)可編輯的文本框”

ohos:text_size=“50”

ohos:padding=“5vp”

ohos:top_margin=“30vp”

/》

《TextField

ohos:id=“$+id:textfield_back”

ohos:height=“250vp”

ohos:width=“250vp”

ohos:hint=“請(qǐng)輸入。。.”

ohos:layout_alignment=“horizontal_center”

ohos:background_element=“#ffffff”

ohos:text_color=“#888888”

ohos:text_size=“20fp”

ohos:padding=“5vp”

/》

《Button

ohos:id=“$+id:migration_button”

ohos:height=“match_content”

ohos:width=“match_content”

ohos:text=“點(diǎn)擊遷移”

ohos:text_size=“20fp”

ohos:text_color=“#ffffff”

ohos:background_element=“$graphic:button_bg”

ohos:top_padding=“8vp”

ohos:bottom_padding=“8vp”

ohos:left_padding=“50vp”

ohos:right_padding=“50vp”

ohos:layout_alignment=“horizontal_center”

ohos:top_margin=“30vp”

/》

《/DirectionalLayout》1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.

復(fù)制ability_migration_back.xml比ability_migration.xml多一個(gè)遷回按鈕,另外主頁(yè)上點(diǎn)擊按鈕跳轉(zhuǎn)等,略。。.

2)使用分布式能力要求開(kāi)發(fā)者在Ability對(duì)應(yīng)的config.json中聲明多設(shè)備協(xié)同訪問(wèn)的權(quán)限:

(1)三方應(yīng)用部署權(quán)限、分布式數(shù)據(jù)傳輸?shù)臋?quán)限、系統(tǒng)應(yīng)用使用權(quán)限的申請(qǐng)。

{

“reqPermissions”: [

{“name”: “ohos.permission.DISTRIBUTED_DATASYNC”},

{“name”: “ohos.permission.servicebus.ACCESS_SERVICE”},

{“name”: “com.huawei.hwddmp.servicebus.BIND_SERVICE”}

}1.2.3.4.5.6.7.

復(fù)制(2)聲明分布式獲取設(shè)備列表及設(shè)備信息的權(quán)限,如下所示:

{

“reqPermissions”: [

{“name”: “ohos.permission.DISTRIBUTED_DEVICE_STATE_CHANGE”},

{“name”: “ohos.permission.GET_DISTRIBUTED_DEVICE_INFO” },

{“name”: “ohos.permission.GET_BUNDLE_INFO”}

}1.2.3.4.5.6.7.

復(fù)制(3)對(duì)于三方應(yīng)用還要求在實(shí)現(xiàn)Ability的代碼中顯式聲明需要使用的權(quán)限。

public class SampleSlice extends AbilitySlice implements IAbilityContinuation {

@Override

public void onStart(Intent intent) {

// 開(kāi)發(fā)者顯示聲明需要使用的權(quán)限

requestPermissionsFromUser(new String[]{“ohos.permission.DISTRIBUTED_DATASYNC”,

“ohos.permission.servicebus.ACCESS_SERVICE”,

“com.huawei.hwddmp.servicebus.BIND_SERVICE”}, 0);

super.onStart(intent);

}

}1.2.3.4.5.6.7.8.9.10.

復(fù)制3) 為啟動(dòng)遠(yuǎn)程FA的按鈕添加點(diǎn)擊事件,獲取設(shè)備信息,實(shí)現(xiàn)啟動(dòng)遠(yuǎn)程FA的能力。

Button btn1 = (Button) findComponentById(ResourceTable.Id_migration_btn_01);

btn1.setClickedListener(new Component.ClickedListener() {

@Override

public void onClick(Component component) {

// 調(diào)用DeviceManager的getDeviceList接口,通過(guò)FLAG_GET_ONLINE_DEVICE標(biāo)記獲得在線設(shè)備列表

List《DeviceInfo》 onlineDevices = DeviceManager.getDeviceList(DeviceInfo.FLAG_GET_ONLINE_DEVICE);

// 判斷組網(wǎng)設(shè)備是否為空

if (onlineDevices.isEmpty()) {

return;

}

int numDevices = onlineDevices.size();

ArrayList《String》 deviceIds = new ArrayList《》(numDevices);

ArrayList《String》 deviceNames = new ArrayList《》(numDevices);

onlineDevices.forEach((device) -》 {

deviceIds.add(device.getDeviceId());

deviceNames.add(device.getDeviceName());

});

// 我們這里只有兩個(gè)設(shè)備,所以選擇首個(gè)設(shè)備作為目標(biāo)設(shè)備

// 開(kāi)發(fā)者也可按照具體場(chǎng)景,通過(guò)別的方式進(jìn)行設(shè)備選擇

String selectDeviceId = deviceIds.get(0);

//獲取設(shè)備ID,最好放到工具類(lèi)里,很多地方要用!

if(selectDeviceId!=null){

Intent intent2 = new Intent();

Operation operation = new Intent.OperationBuilder()

.withDeviceId(selectDeviceId)

.withBundleName(“cn.ybzy.hmsdemo”)

.withAbilityName(“cn.ybzy.hmsdemo.RemoteAbility”)

.withFlags(Intent.FLAG_ABILITYSLICE_MULTI_DEVICE)

.build();

intent2.setOperation(operation);

// 通過(guò)AbilitySlice包含的startAbility接口實(shí)現(xiàn)跨設(shè)備啟動(dòng)FA

startAbility(intent2);

}

}

});1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.

復(fù)制6. 實(shí)戰(zhàn)將設(shè)備A運(yùn)行時(shí)的FA遷移到設(shè)備B,實(shí)現(xiàn)業(yè)務(wù)在設(shè)備間無(wú)縫遷移。

MigrationAbility

public class MigrationAbility extends Ability implements IAbilityContinuation {

@Override

public void onStart(Intent intent) {

super.onStart(intent);

super.setMainRoute(MigrationAbilitySlice.class.getName());

}

@Override

public boolean onStartContinuation() {

return true;

}

@Override

public boolean onSaveData(IntentParams intentParams) {

return true;

}

@Override

public boolean onRestoreData(IntentParams intentParams) {

return true;

}

@Override

public void onCompleteContinuation(int i) {

}

}1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.

復(fù)制

MigrationAbilitySlice

public class MigrationAbilitySlice extends AbilitySlice implements IAbilityContinuation {

TextField textField;

String textStr = “請(qǐng)輸入數(shù)據(jù)。。.”;

@Override

public void onStart(Intent intent) {

super.onStart(intent);

super.setUIContent(ResourceTable.Layout_ability_migration);

textField = (TextField)findComponentById(ResourceTable.Id_textfield_migration);

textField.setText(textStr);

Button btn = (Button) findComponentById(ResourceTable.Id_migration_button);

btn.setClickedListener(new Component.ClickedListener() {

@Override

public void onClick(Component component) {

String deviceId = getDeviceId();

if(deviceId!=null){

continueAbility(deviceId);

}

}

});

}

private String getDeviceId(){

// 調(diào)用DeviceManager的getDeviceList接口,通過(guò)FLAG_GET_ONLINE_DEVICE標(biāo)記獲得在線設(shè)備列表

List《DeviceInfo》 onlineDevices = DeviceManager.getDeviceList(DeviceInfo.FLAG_GET_ONLINE_DEVICE);

// 判斷組網(wǎng)設(shè)備是否為空

if (onlineDevices.isEmpty()) {

return null;

}

int numDevices = onlineDevices.size();

ArrayList《String》 deviceIds = new ArrayList《》(numDevices);

ArrayList《String》 deviceNames = new ArrayList《》(numDevices);

onlineDevices.forEach((device) -》 {

deviceIds.add(device.getDeviceId());

deviceNames.add(device.getDeviceName());

});

// 我們這里只有兩個(gè)設(shè)備,所以選擇首個(gè)設(shè)備作為目標(biāo)設(shè)備

// 開(kāi)發(fā)者也可按照具體場(chǎng)景,通過(guò)別的方式進(jìn)行設(shè)備選擇

String selectDeviceId = deviceIds.get(0);

return selectDeviceId;

}

@Override

public boolean onStartContinuation() {

return true;

}

@Override

public boolean onSaveData(IntentParams intentParams) {

intentParams.setParam(“data”,textField.getText());

return true;

}

@Override

public boolean onRestoreData(IntentParams intentParams) {

textStr = intentParams.getParam(“data”).toString();

return true;

}

@Override

public void onCompleteContinuation(int i) {

}

@Override

public void onRemoteTerminated() {

}

}1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.

復(fù)制此外,不同于啟動(dòng)行為,F(xiàn)A的遷移還涉及到狀態(tài)數(shù)據(jù)的傳遞。為此,繼承的IAbilityContinuation接口為開(kāi)發(fā)者提供遷移過(guò)程中特定事件的管理能力。通過(guò)自定義遷移事件相關(guān)的行為,最終實(shí)現(xiàn)對(duì)Ability的遷移。主要以較為常用的兩個(gè)事件,包括遷移發(fā)起端完成遷移的回調(diào)onCompleteContinuation(int result)以及接收到遠(yuǎn)端遷移行為傳遞數(shù)據(jù)的回調(diào)onRestoreData(IntentParams restoreData)。其他還包括遷移到遠(yuǎn)端設(shè)備的FA關(guān)閉的回調(diào)onRemoteTerminated()、用于本地遷移發(fā)起時(shí)保存狀態(tài)數(shù)據(jù)的回調(diào)onSaveData(IntentParams saveData)和本地發(fā)起遷移的回調(diào)onStartContinuation()。

7. 請(qǐng)求回遷

Button btn1 = (Button) findComponentById(ResourceTable.Id_migration_button_back);

btn1.setClickedListener(new Component.ClickedListener() {

@Override

public void onClick(Component component) {

String deviceId = DeviceUtils.getDeviceId();

if(deviceId!=null){

continueAbilityReversibly(deviceId); //可撤回遷移

}

}

});

Button btn2 = (Button) findComponentById(ResourceTable.Id_migration_button_back2);

btn2.setClickedListener(new Component.ClickedListener() {

@Override

public void onClick(Component component) {

reverseContinueAbility(); //撤回遷移

}

});1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.

復(fù)制1)設(shè)備A上的Page請(qǐng)求回遷。

2)系統(tǒng)回調(diào)設(shè)備B上Page及其AbilitySlice棧中所有AbilitySlice實(shí)例的IAbilityContinuation.onStartContinuation()方法,以確認(rèn)當(dāng)前是否可以立即遷移。

3)如果可以立即遷移,則系統(tǒng)回調(diào)設(shè)備B上Page及其AbilitySlice棧中所有AbilitySlice實(shí)例的IAbilityContinuation.onSaveData()方法,以便保存回遷后恢復(fù)狀態(tài)必須的數(shù)據(jù)。

4)如果保存數(shù)據(jù)成功,則系統(tǒng)在設(shè)備A上Page恢復(fù)AbilitySlice棧,然后回調(diào)IAbilityContinuation.onRestoreData()方法,傳遞此前保存的數(shù)據(jù)。

5)如果數(shù)據(jù)恢復(fù)成功,則系統(tǒng)終止設(shè)備B上Page的生命周期。

編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • HarmonyOS
    +關(guān)注

    關(guān)注

    79

    文章

    2055

    瀏覽量

    32176
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    鴻蒙OS 設(shè)備遷移

    設(shè)備遷移(下文簡(jiǎn)稱(chēng)“遷移”)支持將 Page 在同一用戶的不同設(shè)備遷移,以便支持用戶無(wú)縫切換
    的頭像 發(fā)表于 01-31 15:47 ?1520次閱讀

    AKI語(yǔ)言調(diào)用庫(kù)神助攻C/C++代碼遷移至HarmonyOS NEXT

    /C++代碼快速遷移至HarmonyOS NEXT。憑借卓越的兼容性,AKI已成為廠商與開(kāi)發(fā)者打造鴻蒙原生應(yīng)用過(guò)程中廣泛使用的語(yǔ)言調(diào)用解決方案。 AKI是一款專(zhuān)為
    發(fā)表于 01-02 17:08

    AIGC入門(mén)鴻蒙入門(mén)

    模型,能夠生成與給定文本描述相符的圖像。 鴻蒙系統(tǒng)入門(mén) 1. 基礎(chǔ)知識(shí): 鴻蒙系統(tǒng)(HarmonyOS)是華為推出的一款分布式操作系統(tǒng),旨在實(shí)現(xiàn)
    發(fā)表于 01-13 10:32

    #新年新氣象,大家新年快樂(lè)!#AIGC入門(mén)鴻蒙入門(mén)

    ,基于擴(kuò)散模型,能夠生成與給定文本描述相符的圖像。 鴻蒙系統(tǒng)入門(mén) 1.基礎(chǔ)知識(shí):鴻蒙系統(tǒng)(HarmonyOS)是華為推出的一款分布式操作系統(tǒng),旨在實(shí)現(xiàn)
    發(fā)表于 01-13 10:46

    如何理解鴻蒙OS是設(shè)備的?

    誰(shuí)能幫忙解釋鴻蒙OS是怎樣實(shí)現(xiàn)平臺(tái)的?
    發(fā)表于 09-08 18:17

    怎么入門(mén)DevEco Studio 分布式設(shè)備應(yīng)用開(kāi)發(fā)?

    想知道怎么入門(mén)DevEco Studio 分布式設(shè)備應(yīng)用開(kāi)發(fā)
    發(fā)表于 09-18 15:50

    課程推薦【1】 | 鴻蒙設(shè)備開(kāi)發(fā)入門(mén)

    ,Android。出版書(shū)籍《物聯(lián)網(wǎng)——嵌入式開(kāi)發(fā)實(shí)戰(zhàn)》你將會(huì)學(xué)到:本課程將帶大家入門(mén)HarmonyOS設(shè)備開(kāi)發(fā),以Hi3861鴻蒙
    發(fā)表于 12-28 16:26

    #2020征文-手機(jī)#【鴻蒙基地】鴻蒙設(shè)備啟動(dòng)窗口:Page Ability

    HarmonyOS的核心特性(或稱(chēng)為賣(mài)點(diǎn))之一就是軟總線技術(shù),而Page Ability的設(shè)備遷移是軟總線的一個(gè)具體技術(shù)實(shí)現(xiàn)。所謂設(shè)備
    發(fā)表于 01-25 14:13

    HarmonyOS分布式——設(shè)備遷移

    HarmonyOS分布式——設(shè)備遷移
    發(fā)表于 06-26 14:34

    HarmonyOS教程—基于設(shè)備遷移和分布式文件能力,實(shí)現(xiàn)郵件的設(shè)備編輯和附件的調(diào)用

    操作。想要解決這些問(wèn)題,我們可以通過(guò)HarmonyOS的分布式能力實(shí)現(xiàn)任務(wù)的設(shè)備遷移,保證業(yè)務(wù)在手機(jī)、平板等終端間無(wú)縫銜接,輕松的完成多設(shè)備之間的協(xié)同辦公。本篇Codelab文檔,我
    發(fā)表于 09-09 10:03

    鴻蒙應(yīng)用開(kāi)發(fā)入門(mén)資料合集

    應(yīng)用開(kāi)發(fā)入門(mén)資料六:實(shí)現(xiàn)設(shè)備遷移分布式任務(wù)調(diào)度概述在HarmonyOS中,分布式任務(wù)調(diào)度平臺(tái)對(duì)搭載HarmonyOS的多
    發(fā)表于 03-22 11:23

    通過(guò)HarmonyOS分布式能力實(shí)現(xiàn)任務(wù)的設(shè)備遷移設(shè)計(jì)資料分享

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

    HarmonyOS應(yīng)用開(kāi)發(fā)-DiseributedVideoCodelab設(shè)備視頻遷移

    說(shuō)明:此Demo用于設(shè)備遷移視頻內(nèi)容。您可以方便地跨設(shè)備遷移視頻內(nèi)容,然后在源設(shè)備遠(yuǎn)程控制、操
    發(fā)表于 07-05 10:24

    什么是HarmonyOS“設(shè)備遷移”?

    什么是HarmonyOS“設(shè)備遷移”? HarmonyOS“設(shè)備遷移”是指將承載業(yè)務(wù)的Pag
    的頭像 發(fā)表于 06-25 17:32 ?5743次閱讀

    鴻蒙開(kāi)發(fā):應(yīng)用組件設(shè)備交互(流轉(zhuǎn))【遷移

    遷移的核心任務(wù)是將應(yīng)用的當(dāng)前狀態(tài)(包括頁(yè)面控件、狀態(tài)變量等)無(wú)縫遷移到另一設(shè)備,從而在新設(shè)備上無(wú)縫接續(xù)應(yīng)用體驗(yàn)。這意味著用戶在一臺(tái)
    的頭像 發(fā)表于 06-11 17:10 ?1881次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開(kāi)發(fā)</b>:應(yīng)用組件<b class='flag-5'>跨</b><b class='flag-5'>設(shè)備</b>交互(流轉(zhuǎn))【<b class='flag-5'>跨</b>端<b class='flag-5'>遷移</b>】