• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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