1# @ohos.bundle.bundleMonitor (bundleMonitor模块) 2 3本模块提供监听应用安装,卸载,更新的能力。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import bundleMonitor from '@ohos.bundle.bundleMonitor'; 13``` 14 15## 权限列表 16 17| 权限 | 权限等级 | 描述 | 18| ------------------------------------ | ----------- | ------------------------------ | 19| ohos.permission.LISTEN_BUNDLE_CHANGE | system_core | 可监听应用的安装,卸载,更新。 | 20 21权限等级参考[权限等级说明](../../security/accesstoken-overview.md) 22 23## BundleChangeInfo 24 25**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 26 27**系统API:** 此接口为系统接口,三方应用不支持调用 28 29| 名称 | 类型 | 可读 | 可写 | 说明 | 30| ---------- | ------ | ---- | ---- | -------------------------- | 31| bundleName | string | 是 | 否 | 应用状态发生变化的应用包名。 | 32| userId | number | 是 | 否 | 应用状态发生变化的用户id。 | 33 34## BundleChangedEvent 35 36监听的事件类型。 37 38**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 39 40**系统API:** 此接口为系统接口。 41 42| 名称 | 说明 | 43| ---------- | --------------- | 44| add | 监听应用事件。 | 45| update | 监听更新事件。 | 46| remove | 监听删除事件。 | 47 48## bundleMonitor.on 49 50on(type: BundleChangedEvent, callback: Callback\<BundleChangedInfo>): void; 51 52注册监听应用的安装,卸载,更新。 53 54**需要权限:** ohos.permission.LISTEN_BUNDLE_CHANGE 55 56**系统API:** 此接口为系统接口,三方应用不支持调用 57 58**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 59 60**参数:** 61 62| 参数名 | 类型 | 必填 | 说明 | 63| ---------------------------- | -------- | ---- | ------------------ | 64| type| [BundleChangedEvent](js-apis-bundleMonitor.md#BundleChangedEvent)| 是 | 注册监听的事件类型。 | 65| callback | callback\<BundleChangedInfo>| 是 | 注册监听的回调函数。 | 66 67**示例:** 68 69```ts 70import bundleMonitor from '@ohos.bundle.bundleMonitor'; 71 72try { 73 bundleMonitor.on('add', (bundleChangeInfo) => { 74 console.info(`bundleName : ${bundleChangeInfo.bundleName} userId : ${bundleChangeInfo.userId}`); 75 }) 76} catch (errData) { 77 console.log(`errData is errCode:${errData.errCode} message:${errData.message}`); 78} 79``` 80 81## bundleMonitor.off 82 83off(type: BundleChangedEvent, callback?: Callback\<BundleChangedInfo>): void; 84 85注销监听应用的安装,卸载,更新。 86 87**需要权限:** ohos.permission.LISTEN_BUNDLE_CHANGE 88 89**系统API:** 此接口为系统接口,三方应用不支持调用 90 91**系统能力:** SystemCapability.BundleManager.BundleFramework.Core 92 93**参数:** 94 95| 参数名 | 类型 | 必填 | 说明 | 96| ---------------------------- | -------- | ---- | ---------------------------------------------------------- | 97| type| [BundleChangedEvent](js-apis-bundleMonitor.md#BundleChangedEvent)| 是 | 注销监听的事件类型。 | 98| callback | callback\<BundleChangedInfo>| 否 | 注销监听的回调函数,当为空时表示注销当前事件的所有callback。 | 99 100**示例:** 101 102```ts 103import bundleMonitor from '@ohos.bundle.bundleMonitor'; 104 105try { 106 bundleMonitor.off('add'); 107} catch (errData) { 108 console.log(`errData is errCode:${errData.errCode} message:${errData.message}`); 109} 110```