1# @ohos.bundle.distributedBundleManager (distributedBundleManager模块) 2 3本模块提供分布式应用的管理能力 4 5> **说明:** 6> 7> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9本模块接口为系统接口。 10 11## 导入模块 12 13``` 14import distributedBundle from '@ohos.bundle.distributedBundleManager'; 15``` 16 17## 系统能力 18 19SystemCapability.BundleManager.DistributedBundleFramework 20 21## 权限列表 22 23| 权限 | 权限等级 | 说明 | 24| ------------------------------------------ | ------------ | ------------------ | 25| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询系统中所有应用信息。 | 26 27权限等级参考[权限等级说明](../../security/accesstoken-overview.md#权限等级说明)。 28 29## distributedBundle.getRemoteAbilityInfo 30 31getRemoteAbilityInfo(elementName: ElementName, callback: AsyncCallback\<RemoteAbilityInfo>): void; 32 33以异步方法获取由elementName指定的远程设备上的应用的AbilityInfo信息。使用callback异步回调。 34 35**系统接口:** 此接口为系统接口。 36 37**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 38 39**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 40 41**参数:** 42 43| 参数名 | 类型 | 必填 | 说明 | 44| ----------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 45| elementName | [ElementName](js-apis-bundleManager-elementName.md) | 是 | ElementName信息。 | 46| callback | AsyncCallback<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)> | 是 | 回调函数,调用成功返回err为null,data为RemoteAbilityInfo对象;调用失败err为错误对象, data为undefined。 | 47 48**错误码:** 49 50以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 51 52| 错误码ID | 错误信息 | 53|----------|--------------------------------------| 54| 17700001 | The specified bundle name is not found. | 55| 17700003 | The specified ability name is not found. | 56| 17700007 | The specified device ID is not found. | 57| 17700027 | The distributed service is not running. | 58 59**示例:** 60 61```ts 62try { 63 distributedBundle.getRemoteAbilityInfo( 64 { 65 deviceId: '1', 66 bundleName: 'com.example.application', 67 abilityName: 'MainAbility' 68 }, (err, data) => { 69 if (err) { 70 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 71 } else { 72 console.info('Operation succeed:' + JSON.stringify(data)); 73 } 74 }); 75} catch (err) { 76 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 77} 78``` 79 80## distributedBundle.getRemoteAbilityInfo 81 82getRemoteAbilityInfo(elementName: ElementName): Promise\<RemoteAbilityInfo>; 83 84以异步方法获取由elementName指定的远程设备上的应用的AbilityInfo信息。使用Promise异步回调。 85 86**系统接口:** 此接口为系统接口。 87 88**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 89 90**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 91 92**参数:** 93 94| 参数名 | 类型 | 必填 | 说明 | 95| ----------- | -------------------------------------------- | ---- | ----------------------- | 96| elementName | [ElementName](js-apis-bundleManager-elementName.md) | 是 | ElementName信息。 | 97 98**返回值:** 99 100| 类型 | 说明 | 101| ------------------------------------------------------------ | --------------------------------- | 102| Promise\<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)> | Promise对象,调用成功返回RemoteAbilityInfo对象;调用失败返回错误对象。 | 103 104**错误码:** 105 106以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 107 108| 错误码ID | 错误信息 | 109|----------|-------------------------| 110| 17700001 | The specified bundle name is not found. | 111| 17700003 | The specified ability name is not found. | 112| 17700007 | The specified device ID is not found. | 113| 17700027 | The distributed service is not running. | 114 115**示例:** 116 117```ts 118try { 119 distributedBundle.getRemoteAbilityInfo( 120 { 121 deviceId: '1', 122 bundleName: 'com.example.application', 123 abilityName: 'MainAbility' 124 }).then(data => { 125 console.info('Operation succeed:' + JSON.stringify(data)); 126 }).catch(err => { 127 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 128 }); 129} catch (err) { 130 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 131} 132``` 133 134## distributedBundle.getRemoteAbilityInfo 135 136getRemoteAbilityInfo(elementNames: Array\<ElementName>, callback: AsyncCallback\<Array\<RemoteAbilityInfo>>): void; 137 138以异步方法获取由elementName指定的远程设备上的应用的AbilityInfo数组信息。使用callback异步回调。 139 140**系统接口:** 此接口为系统接口。 141 142**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 143 144**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 145 146**参数:** 147 148| 参数名 | 类型 | 必填 | 说明 | 149| ------------ | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ | 150| elementNames | Array<[ElementName](js-apis-bundleManager-elementName.md)> | 是 | ElementName信息,最大数组长度为10。 | 151| callback | AsyncCallback\<Array\<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)>> | 是 | 回调函数,调用成功返回err为null,data为RemoteAbilityInfo数组对象;调用失败err为错误对象, data为undefined。 | 152 153**错误码:** 154 155以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 156 157| 错误码ID | 错误信息 | 158|----------|-------------------------| 159| 17700001 | The specified bundle name is not found. | 160| 17700003 | The specified ability name is not found. | 161| 17700007 | The specified device ID is not found. | 162| 17700027 | The distributed service is not running. | 163 164**示例:** 165 166```ts 167try { 168 distributedBundle.getRemoteAbilityInfo( 169 [ 170 { 171 deviceId: '1', 172 bundleName: 'com.example.application1', 173 abilityName: 'MainAbility1' 174 }, 175 { 176 deviceId: '1', 177 bundleName: 'com.example.application2', 178 abilityName: 'MainAbility' 179 } 180 ], (err, data) => { 181 if (err) { 182 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 183 } else { 184 console.info('Operation succeed:' + JSON.stringify(data)); 185 } 186 }); 187} catch (err) { 188 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 189} 190``` 191 192## distributedBundle.getRemoteAbilityInfo 193 194getRemoteAbilityInfo(elementNames: Array\<ElementName>): Promise\<Array\<RemoteAbilityInfo>>; 195 196以异步方法获取由elementName指定的远程设备上的应用的AbilityInfo数组信息。使用Promise异步回调。 197 198**系统接口:** 此接口为系统接口。 199 200**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 201 202**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 203 204**参数:** 205 206| 参数名 | 类型 | 必填 | 说明 | 207| ------------ | --------------------------------------------------- | ---- | ----------------------- | 208| elementNames | Array<[ElementName](js-apis-bundleManager-elementName.md)> | 是 | ElementName信息,最大数组长度为10。 | 209 210**返回值:** 211 212| 类型 | 说明 | 213| ------------------------------------------------------------ | --------------------------------- | 214| Promise\<Array<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)>> | Promise对象,调用成功返回RemoteAbilityInfo对象;调用失败返回错误对象。 | 215 216**错误码:** 217 218以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 219 220| 错误码ID | 错误信息 | 221|----------|-------------------------| 222| 17700001 | The specified bundle name is not found. | 223| 17700003 | The specified ability name is not found. | 224| 17700007 | The specified device ID is not found. | 225| 17700027 | The distributed service is not running. | 226 227**示例:** 228 229```ts 230try { 231 distributedBundle.getRemoteAbilityInfo( 232 [ 233 { 234 deviceId: '1', 235 bundleName: 'com.example.application', 236 abilityName: 'MainAbility' 237 }, 238 { 239 deviceId: '1', 240 bundleName: 'com.example.application2', 241 abilityName: 'MainAbility' 242 } 243 ]).then(data => { 244 console.info('Operation succeed:' + JSON.stringify(data)); 245 }).catch(err => { 246 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 247 }); 248} catch (err) { 249 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 250} 251``` 252 253## distributedBundle.getRemoteAbilityInfo 254 255getRemoteAbilityInfo(elementName: ElementName, locale: string, callback: AsyncCallback\<RemoteAbilityInfo>): void; 256 257以异步方法获取由elementName和locale指定的远程设备上的应用的AbilityInfo信息。使用callback异步回调。 258 259**系统接口:** 此接口为系统接口。 260 261**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 262 263**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 264 265**参数:** 266 267| 参数名 | 类型 | 必填 | 说明 | 268| ----------- | ------------------------------------------------------------ | ---- | -------------------------------------------------- | 269| elementName | [ElementName](js-apis-bundleManager-elementName.md) | 是 | ElementName信息。 | 270| locale | string |是 | 语言地区。 | 271| callback | AsyncCallback<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)> | 是 | 回调函数,调用成功返回err为null,data为RemoteAbilityInfo对象;调用失败err为错误对象, data为undefined。 | 272 273**错误码:** 274 275以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 276 277| 错误码ID | 错误信息 | 278|----------|-------------------------| 279| 17700001 | The specified bundle name is not found. | 280| 17700003 | The specified ability name is not found. | 281| 17700007 | The specified device ID is not found. | 282| 17700027 | The distributed service is not running. | 283 284**示例:** 285 286```ts 287try { 288 distributedBundle.getRemoteAbilityInfo( 289 { 290 deviceId: '1', 291 bundleName: 'com.example.application', 292 abilityName: 'MainAbility' 293 }, 'zh-Hans-CN', (err, data) => { 294 if (err) { 295 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 296 } else { 297 console.info('Operation succeed:' + JSON.stringify(data)); 298 } 299 }); 300} catch (err) { 301 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 302} 303``` 304 305## distributedBundle.getRemoteAbilityInfo 306 307getRemoteAbilityInfo(elementName: ElementName, locale: string): Promise\<RemoteAbilityInfo>; 308 309以异步方法获取由elementName和locale指定的远程设备上的应用的AbilityInfo信息。使用Promise异步回调。 310 311**系统接口:** 此接口为系统接口。 312 313**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 314 315**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 316 317**参数:** 318 319| 参数名 | 类型 | 必填 | 说明 | 320| ----------- | -------------------------------------------- | ---- | ----------------------- | 321| elementName | [ElementName](js-apis-bundleManager-elementName.md) | 是 | ElementName信息。 | 322| locale | string |是 | 语言地区。 | 323 324**返回值:** 325 326| 类型 | 说明 | 327| ------------------------------------------------------------ | --------------------------------- | 328| Promise\<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)> | Promise对象,调用成功返回RemoteAbilityInfo对象;调用失败返回错误对象。 | 329 330**错误码:** 331 332以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 333 334| 错误码ID | 错误信息 | 335|----------|-------------------------| 336| 17700001 | The specified bundle name is not found. | 337| 17700003 | The specified ability name is not found. | 338| 17700007 | The specified device ID is not found. | 339| 17700027 | The distributed service is not running. | 340 341**示例:** 342 343```ts 344try { 345 distributedBundle.getRemoteAbilityInfo( 346 { 347 deviceId: '1', 348 bundleName: 'com.example.application', 349 abilityName: 'MainAbility' 350 }, 'zh-Hans-CN').then(data => { 351 console.info('Operation succeed:' + JSON.stringify(data)); 352 }).catch(err => { 353 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 354 }); 355} catch (err) { 356 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 357} 358``` 359 360## distributedBundle.getRemoteAbilityInfo 361 362getRemoteAbilityInfo(elementNames: Array\<ElementName>, locale: string, callback: AsyncCallback\<Array\<RemoteAbilityInfo>>): void; 363 364以异步方法获取由elementName和locale指定的远程设备上的应用的AbilityInfo数组信息。使用callback异步回调。 365 366**系统接口:** 此接口为系统接口。 367 368**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 369 370**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 371 372**参数:** 373 374| 参数名 | 类型 | 必填 | 说明 | 375| ------------ | ------------------------------------------------------------ | ---- | -------------------------------------------------- | 376| elementNames | Array<[ElementName](js-apis-bundleManager-elementName.md)> | 是 | ElementName信息,最大数组长度为10。 | 377| locale | string |是 | 语言地区。 | 378| callback | AsyncCallback\<Array\<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)>> | 是 | 回调函数,调用成功返回err为null,data为RemoteAbilityInfo数组对象;调用失败err为错误对象, data为undefined。 | 379 380**错误码:** 381 382以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 383 384| 错误码ID | 错误信息 | 385|---------------|-------------------------| 386| 17700001 | The specified bundle name is not found. | 387| 17700003 | The specified ability name is not found. | 388| 17700007 | The specified device ID is not found. | 389| 17700027 | The distributed service is not running. | 390 391**示例:** 392 393```ts 394try { 395 distributedBundle.getRemoteAbilityInfo( 396 [ 397 { 398 deviceId: '1', 399 bundleName: 'com.example.application1', 400 abilityName: 'MainAbility1' 401 }, 402 { 403 deviceId: '1', 404 bundleName: 'com.example.application2', 405 abilityName: 'MainAbility' 406 } 407 ], 'zh-Hans-CN', (err, data) => { 408 if (err) { 409 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 410 } else { 411 console.info('Operation succeed:' + JSON.stringify(data)); 412 } 413 }); 414} catch (err) { 415 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 416} 417``` 418 419## distributedBundle.getRemoteAbilityInfo 420 421getRemoteAbilityInfo(elementNames: Array\<ElementName>, locale: string): Promise\<Array\<RemoteAbilityInfo>>; 422 423以异步方法获取由elementName和locale指定的远程设备上的应用的AbilityInfo数组信息。使用Promise异步回调。 424 425**系统接口:** 此接口为系统接口。 426 427**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 428 429**系统能力:** SystemCapability.BundleManager.DistributedBundleFramework 430 431**参数:** 432 433| 参数名 | 类型 | 必填 | 说明 | 434| ------------ | --------------------------------------------------- | ---- | ----------------------- | 435| elementNames | Array<[ElementName](js-apis-bundleManager-elementName.md)> | 是 | ElementName信息,最大数组长度为10。 | 436| locale | string |是 | 语言地区。 | 437 438**返回值:** 439 440| 类型 | 说明 | 441| ------------------------------------------------------------ | --------------------------------- | 442| Promise\<Array<[RemoteAbilityInfo](js-apis-bundleManager-remoteAbilityInfo.md)>> | Promise对象,调用成功返回RemoteAbilityInfo对象;调用失败返回错误对象。 | 443 444**错误码:** 445 446以下错误码的详细介绍请参见[ohos.bundle错误码](../errorcodes/errorcode-bundle.md)。 447 448| 错误码ID | 错误信息 | 449|----------|-------------------------| 450| 17700001 | The specified bundle name is not found. | 451| 17700003 | The specified ability name is not found. | 452| 17700007 | The specified device ID is not found. | 453| 17700027 | The distributed service is not running. | 454 455**示例:** 456 457```ts 458try { 459 distributedBundle.getRemoteAbilityInfo( 460 [ 461 { 462 deviceId: '1', 463 bundleName: 'com.example.application', 464 abilityName: 'MainAbility' 465 }, 466 { 467 deviceId: '1', 468 bundleName: 'com.example.application2', 469 abilityName: 'MainAbility' 470 } 471 ], 'zh-Hans-CN').then(data => { 472 console.info('Operation succeed:' + JSON.stringify(data)); 473 }).catch(err => { 474 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 475 }); 476} catch (err) { 477 console.error('Operation failed: error code is ' + err.code + 'and error message is ' + err.message); 478} 479``` 480