未验证 提交 e266a2fd 编写于 作者: O openharmony_ci 提交者: Gitee

!11384 增加launcherBundleManager模块

Merge pull request !11384 from longwei/master
# BundleStatusCallback
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 从API version 9开始不再支持。建议使用[bundleMonitor](js-apis-bundleMonitor.md)替代。
应用状态回调的信息,通过接口[innerBundleManager.on](js-apis-Bundle-InnerBundleManager.md)获取。
应用包回调的信息,通过接口[innerBundleManager.on](js-apis-Bundle-InnerBundleManager.md)获取。
## BundleStatusCallback<sup>(deprecated)<sup>
> 从API version 9开始不再维护
> 从API version 9开始不再支持。建议使用[bundleMonitor](js-apis-bundleMonitor.md)替代
**系统API:** 此接口为系统接口,三方应用不支持调用。
**系统能力:** 以下各项对应的系统能力均为SystemCapability.BundleManager.BundleFramework。
| 名称 | 类型 | 说明 |
| 监听类型 | 注册回调 | 说明 |
| ------ | --------------------------------------------- | -------------------------------------- |
| add | (bundleName : string, userId: number) => void | 获取应用安装时的信息。 |
| update | (bundleName : string, userId: number) => void | 获取应用更新时的信息。 |
......
# innerBundleManager模块(JS端SDK接口)
# innerBundleManager模块<sup>(deprecated)</sup>
本模块提供内部包的管理
本模块提供launcher应用使用的接口
> **说明:**
>
> 本模块首批接口从API version 8 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
> 本模块从API version 9开始不再支持。建议使用[launcherBundleManager](js-apis-launcherBundleManager.md)及[bundleMonitor](js-apis-bundleMonitor.md)替代。
## 导入模块
```
```typescript
import innerBundleManager from '@ohos.bundle.innerBundleManager';
```
......@@ -16,20 +16,13 @@ import innerBundleManager from '@ohos.bundle.innerBundleManager';
SystemCapability.BundleManager.BundleFramework
## 权限列表
| 权限 | 权限等级 | 描述 |
| ------------------------------------------ | ------------ | ---------------------------- |
| ohos.permission.GET_BUNDLE_INFO_PRIVILEGED | system_basic | 可查询所有应用信息 |
| ohos.permission.LISTEN_BUNDLE_CHANGE | system_grant | 允许该应用获取应用变化消息。 |
权限等级参考[权限等级说明](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/security/accesstoken-overview.md#%E6%9D%83%E9%99%90%E7%AD%89%E7%BA%A7%E8%AF%B4%E6%98%8E)
## innerBundleManager.getLauncherAbilityInfos
## innerBundleManager.getLauncherAbilityInfos<sup>(deprecated)</sup>
getLauncherAbilityInfos(bundleName: string, userId: number, callback: AsyncCallback&lt;Array&lt;LauncherAbilityInfo&gt;&gt;) : void;
以异步方法根据给定的包名获取LauncherAbilityInfos,使用callback形式返回结果。
> 从API version 9开始不再支持。建议使用[launcherBundleManager#getLauncherAbilityInfo](js-apis-launcherBundleManager.md)替代。
**需要权限:**
......@@ -52,12 +45,12 @@ SystemCapability.BundleManager.BundleFramework
| callback | AsyncCallback\<Array<[LauncherAbilityInfo](js-apis-bundle-LauncherAbilityInfo.md)>> | 是 | 程序启动作为入参的回调函数,返回程序信息。 |
## innerBundleManager.getLauncherAbilityInfos
## innerBundleManager.getLauncherAbilityInfos<sup>(deprecated)</sup>
getLauncherAbilityInfos(bundleName: string, userId: number) : Promise&lt;Array&lt;LauncherAbilityInfo&gt;&gt;
以异步方法根据给定的包名获取LauncherAbilityInfos,使用Promise形式返回结果。
> 从API version 9开始不再支持。建议使用[launcherBundleManager#getLauncherAbilityInfo](js-apis-launcherBundleManager.md)替代。
**需要权限:**
......@@ -84,11 +77,12 @@ SystemCapability.BundleManager.BundleFramework
| ------------------------------------------------------------ | ------------------------- |
| Promise\<Array<[LauncherAbilityInfo](js-apis-bundle-LauncherAbilityInfo.md)>> | Promise形式返回程序信息。 |
## innerBundleManager.on
## innerBundleManager.on<sup>(deprecated)</sup>
on(type:"BundleStatusChange", bundleStatusCallback : BundleStatusCallback, callback: AsyncCallback&lt;string&gt;) : void;
注册Callback。
> 从API version 9开始不再支持。建议使用[bundleMonitor#on](js-apis-bundleMonitor.md)替代。
**需要权限:**
......@@ -110,11 +104,12 @@ SystemCapability.BundleManager.BundleFramework
| bundleStatusCallback | [BundleStatusCallback](js-apis-Bundle-BundleStatusCallback.md) | 是 | 指示要注册的回调。 |
| callback | AsyncCallback\<string> | 是 | 程序启动作为入参的回调函数,返回正确结果或错误信息。 |
## innerBundleManager.on
## innerBundleManager.on<sup>(deprecated)</sup>
on(type:"BundleStatusChange", bundleStatusCallback : BundleStatusCallback): Promise&lt;string&gt;
on(type:"BundleStatusChange", bundleStatusCallback : BundleStatusCallback) : Promise&lt;string&gt;
注册Callback。
> 从API version 9开始不再支持。建议使用[bundleMonitor#on](js-apis-bundleMonitor.md)替代。
**需要权限:**
......@@ -141,11 +136,12 @@ SystemCapability.BundleManager.BundleFramework
| --------------- | ----------------------------------- |
| Promise\<string> | Promise形式返回正确结果或错误信息。 |
## innerBundleManager.off
## innerBundleManager.off<sup>(deprecated)</sup>
off(type:"BundleStatusChange", callback: AsyncCallback&lt;string&gt;) : void;
取消注册Callback。
> 从API version 9开始不再支持。建议使用[bundleMonitor#off](js-apis-bundleMonitor.md)替代。
**需要权限:**
......@@ -166,11 +162,12 @@ SystemCapability.BundleManager.BundleFramework
| type | string | 是 | 指示应执行命令,只支持BundleStatusChange。 |
| callback | AsyncCallback\<string> | 是 | 程序启动作为入参的回调函数,返回正确结果或错误信息。 |
## innerBundleManager.off
## innerBundleManager.off<sup>(deprecated)</sup>
off(type:"BundleStatusChange"): Promise&lt;string&gt;
off(type:"BundleStatusChange") : Promise&lt;string&gt;
取消注册Callback。
> 从API version 9开始不再支持。建议使用[bundleMonitor#off](js-apis-bundleMonitor.md)替代。
**需要权限:**
......@@ -196,11 +193,12 @@ SystemCapability.BundleManager.BundleFramework
| --------------- | ----------------------------------- |
| Promise\<string> | Promise形式返回正确结果或错误信息。 |
## innerBundleManager.getAllLauncherAbilityInfos
## innerBundleManager.getAllLauncherAbilityInfos<sup>(deprecated)</sup>
getAllLauncherAbilityInfos(userId: number, callback: AsyncCallback&lt;Array&lt;LauncherAbilityInfo&gt;&gt;) : void;
以异步方法获取所有的LauncherAbilityInfos,使用callback形式返回结果。
> 从API version 9开始不再支持。建议使用[launcherBundleManager#getAllLauncherAbilityInfo](js-apis-launcherBundleManager.md)替代。
**需要权限:**
......@@ -221,11 +219,12 @@ SystemCapability.BundleManager.BundleFramework
| userId | number | 是 | 用户ID。默认值:调用方所在用户,取值范围:大于等于0。 |
| callback | AsyncCallback\<Array<[LauncherAbilityInfo](js-apis-bundle-LauncherAbilityInfo.md)>> | 是 | 程序启动作为入参的回调函数,返回程序信息。 |
## innerBundleManager.getAllLauncherAbilityInfos
## innerBundleManager.getAllLauncherAbilityInfos<sup>(deprecated)</sup>
getAllLauncherAbilityInfos(userId: number) : Promise&lt;Array&lt;LauncherAbilityInfo&gt;&gt;
以异步方法获取LauncherAbilityInfos,使用Promise形式返回结果。
> 从API version 9开始不再支持。建议使用[launcherBundleManager#getAllLauncherAbilityInfo](js-apis-launcherBundleManager.md)替代。
**需要权限:**
......@@ -251,11 +250,12 @@ SystemCapability.BundleManager.BundleFramework
| ------------------------------------------------------------ | ------------------------- |
| Promise\<Array<[LauncherAbilityInfo](js-apis-bundle-LauncherAbilityInfo.md)>> | Promise形式返回程序信息。 |
## innerBundleManager.getShortcutInfos
## innerBundleManager.getShortcutInfos<sup>(deprecated)</sup>
getShortcutInfos(bundleName :string, callback: AsyncCallback&lt;Array&lt;ShortcutInfo&gt;&gt;) : void;
以异步方法根据给定的包名获取快捷方式信息,使用callback形式返回结果。
> 从API version 9开始不再支持。建议使用[launcherBundleManager#getShortcutInfo](js-apis-launcherBundleManager.md)替代。
**需要权限:**
......@@ -276,11 +276,12 @@ SystemCapability.BundleManager.BundleFramework
| bundleName | string | 是 | 要查询的应用程序包名称。 |
| callback | AsyncCallback\<Array<[ShortcutInfo](js-apis-bundle-ShortcutInfo.md)>> | 是 | 程序启动作为入参的回调函数,返回快捷方式信息。 |
## innerBundleManager.getShortcutInfos
## innerBundleManager.getShortcutInfos<sup>(deprecated)</sup>
getShortcutInfos(bundleName : string) : Promise&lt;Array&lt;ShortcutInfo&gt;&gt;
以异步方法根据给定的包名获取快捷方式信息,使用Promise形式返回结果。
> 从API version 9开始不再支持。建议使用[launcherBundleManager#getShortcutInfo](js-apis-launcherBundleManager.md)替代。
**需要权限:**
......
# Bundle.launcherBundleManager模块
本模块支持launcher应用所需的查询能力,支持[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md)信息的查询。
> **说明:**
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
## 导入模块
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
```
## launcherBundlemanager.**getLauncherAbilityInfo<sup>9+</sup>**
getLauncherAbilityInfo(bundleName: string, userId: number, callback: AsyncCallback<Array\<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>>) : void;
查询指定bundleName及用户的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------------- |
| bundleName | string | 是 | 应用程序包名称。 |
| userId | number | 是 | 被查询的用户id。|
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | --------------------------------------------------- |
| AsyncCallback\<Array<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>> | callback形式返回bundle包含的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)信息 |
**相关错误码**
| 错误码 | 错误信息(此处仅提供错误抛出的关键信息) |
| -------- | ---------------------------------------- |
| 17700001 | The specified bundle name is not found. |
| 17700004 | The specified user id is not found. |
**示例:**
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
try {
launcherBundleManager.getLauncherAbilityInfo('com.example.demo', 100, (errData, data) => {
if (errData !== null) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
console.log("data is " + JSON.Stringify(data));
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
getLauncherAbilityInfo(bundleName: string, userId: number) : Promise<Array\<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>>;
查询指定bundleName及用户的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------------- |
| bundleName | string | 是 | 应用程序包名称 。|
| userId | number | 是 | 被查询的用户id。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | -------------------------------------------------- |
| Promise\<Array<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>> | Promise形式返回bundle包含的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)信息 |
**相关错误码**
| 错误码 | 错误信息(此处仅提供错误抛出的关键信息) |
| -------- | ---------------------------------------- |
| 17700001 | The specified bundle name is not found. |
| 17700004 | The specified user id is not found. |
**示例:**
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
try {
launcherBundleManager.getLauncherAbilityInfo("com.example.demo", 100).then(data => {
console.log("data is " + JSON.Stringify(data));
}).catch (errData => {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
## launcherBundlemanager.getAllLauncherAbilityInfo<sup>9+</sup>
getAllLauncherAbilityInfo(userId: number, callback: AsyncCallback<Array\<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>>) : void;
查询指定用户下所有应用的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| ------ | ------ | ---- | -------------- |
| userId | number | 是 | 被查询的用户id。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------------- | ------------------------------------------------------- |
| AsyncCallback\<Array<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>> | callback形式返回指定用户下所有应用的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md) |
**相关错误码**
| 错误码 | 错误信息(此处仅提供错误抛出的关键信息) |
| -------- | ---------------------------------------- |
| 17700004 | The specified user id is not found. |
示例:
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
try {
launcherBundleManager.getAllLauncherAbilityInfo(100, (errData, data) => {
if (errData !== null) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
console.log("data is " + JSON.Stringify(data));
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
getAllLauncherAbilityInfo(userId: number) : Promise<Array\<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>>;
查询指定用户下所有应用的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher
**参数:**
| 参数名 | 类型 | 必填 | 描述 |
| ------ | ------ | ---- | -------------- |
| userId | number | 是 | 被查询的用户id。 |
**返回值:**
| 类型 | 说明 |
| ----------------------------- | ------------------------------------------------------ |
| Promise\<Array<[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md)>> | Promise形式返回指定用户下所有应用的[LauncherAbilityInfo](js-apis-bundleManager-launcherAbilityInfo.md) |
示例:
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
try {
launcherBundleManager.getAllLauncherAbilityInfo(100).then(data => {
console.log("data is " + JSON.Stringify(data));
}).catch (errData => {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
## launcherBundlemanager.getShortcutInfo<sup>9+</sup>
getShortcutInfo(bundleName :string, callback: AsyncCallback<Array\<[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md)>>) : void;
查询当前用户下指定应用的[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md)
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher
| 参数名 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------------- |
| bundleName | string | 是 | 应用程序包名称。 |
**返回值:**
| 类型 | 说明 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
| AsyncCallback\<Array<[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md)>> | callback形式返回当前用户下指定应用的[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md) |
示例:
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
try {
launcherBundleManager.getShortcutInfo("com.example.demo", (errData, data) => {
if (errData !== null) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
console.log("data is " + JSON.Stringify(data));
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
getShortcutInfo(bundleName : string) : Promise<Array\<[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md)>>;
**需要权限:** ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
**系统接口:** 此接口为系统接口
**系统能力:** SystemCapability.BundleManager.BundleFramework.Launcher
| 参数名 | 类型 | 必填 | 描述 |
| ---------- | ------ | ---- | -------------- |
| bundleName | string | 是 | 应用程序包名称。 |
**返回值:**
| 类型 | 说明 |
| ---------------------- | ----------------------------------------------- |
| Promise\<Array<[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md)>> | Promise形式返回当前用户下指定应用的[ShortcutInfo](js-apis-bundleManager-shortcutInfo.md) |
示例:
```typescript
import launcherBundleManager from '@ohos.bundle.launcherBundleManager';
try {
launcherBundleManager.getShortcutInfo("com.example.demo").then(data => {
console.log("data is " + JSON.Stringify(data));
}).catch (errData => {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
})
} catch (errData) {
console.log(`errData is errCode:${errData.errCode} message:${errData.message}`);
}
```
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册