根据Codelabs中的“( 基于分布式调度启动远程FA )”实验,在DevEcoStudio中的远程模拟器中可正常启动另一台
手机中的FA。但是在2台真机上无法启动。 一台Mate30,版本号:2.0.0.166(C00E160R5P6patch07) GPU Turbo (已最新) 一台MatePadPro,版本号:2.0.0.166(C00E160R1P160patch02) GPU Turbo (已最新) 同一账号,同一网络。
代码:
私人输入 startRemoteAbility(DeviceInfo deviceInfo) {
Intent remoteIntent = new Intent();
操作 = new Intent.Opera
tionBuilder()
.withDeviceId(deviceInfo.getDeviceId())
.withBundleName(getBundleName())
.withAbilityName(MainAbility.class.getName( ))
.withFlags(Intent.FLAG_ABILITYSLICE_MULTI_DEVICE) .build
();
remoteIntent.setOperation(操作);
try { // 目标设备是否包含指定FA List
abilityInfoList = getBundleManager().queryAbilityByIntent(remoteIntent, 0 , 0 ); 如果(能力信息列表!=
null && !abilityInfoList.isEmpty()) {
startAbility(remoteIntent);
}
} catch (RemoteException e) {
// 处理异常 } }
abilityInfoList 有内容,可以检测到目标设备有指定的FA。