前置知识: HarmonyOS

跨设备调用

1 minAdvanced2026/6/14

HarmonyOS跨设备调用详解:分布式调度、跨设备启动Ability。

1. 设备发现

import deviceManager from '@ohos.distributedDeviceManager';

const dmInstance = deviceManager.createDeviceManager('com.example.app');

// 发现设备
dmInstance.on('deviceFound', (device) => {
  console.log('Found device:', device.deviceName, device.deviceId);
});

dmInstance.startDiscovering();

2. 跨设备启动 Ability

import Want from '@ohos.app.ability.Want';

const want: Want = {
  deviceId: targetDeviceId, // 目标设备 ID
  bundleName: 'com.example.app',
  abilityName: 'RemoteAbility',
};

this.context.startAbility(want);

3. 分布式任务迁移

// 迁移到目标设备
this.context.continueAbility('com.example.app', targetDeviceId)

// 接收迁移数据
onContinue(wantParam) {
  return { data: this.currentState }
}

// 恢复迁移数据
onRestoreData(wantParam) {
  this.currentState = wantParam.data
}