# @ohos.enterprise.bundleManager (Bundle Management) The **bundleManager** module provides APIs for bundle management, including adding, obtaining, and removing a list of bundles that are allowed to install. > **NOTE** > > - The initial APIs of this module are supported since API version 10. Newly added APIs will be marked with a superscript to indicate their earliest API version. > > > - The APIs provided by this module can be called only by a [device administrator application](enterpriseDeviceManagement-overview.md#basic-concepts) that is [enabled](js-apis-enterprise-adminManager.md#adminmanagerenableadmin). ## Modules to Import ```js import bundleManager from '@ohos.enterprise.bundleManager'; ``` ## bundleManager.addAllowedInstallBundles addAllowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void; Adds a list of bundles that are allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addAllowedInstallBundles(wantTemp, appIds, (err) => { if (err) { console.error(`Failed to add allowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in adding allowed install bundles'); }); ``` ## bundleManager.addAllowedInstallBundles addAllowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void; Adds a list of bundles that are allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addAllowedInstallBundles(wantTemp, appIds, 100, (err) => { if (err) { console.error(`Failed to add allowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in adding allowed install bundles'); }); ``` ## bundleManager.addAllowedInstallBundles addAllowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>; Adds a list of bundles that are allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addAllowedInstallBundles(wantTemp, appIds, 100).then(() => { console.info('Succeeded in adding allowed install bundles'); }).catch((err) => { console.error(`Failed to add allowed install bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.removeAllowedInstallBundles removeAllowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void; Removes a list of bundles that are allowed to be installed by the current user through the specified device administrator application. The bundles removed from the list can no longer be installed. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be removed. | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeAllowedInstallBundles(wantTemp, appIds, (err) => { if (err) { console.error(`Failed to remove allowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in removing allowed install bundles'); }); ``` ## bundleManager.removeAllowedInstallBundles removeAllowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void; Removes a list of bundles that are allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. The bundles removed from the list can no longer be installed. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be removed. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeAllowedInstallBundles(wantTemp, appIds, 100, (err) => { if (err) { console.error(`Failed to remove allowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in removing allowed install bundles'); }); ``` ## bundleManager.removeAllowedInstallBundles removeAllowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>; Removes a list of bundles that are allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. The bundles removed from the list can no longer be installed. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array\<string> | Yes | Bundles to be removed. | | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeAllowedInstallBundles(wantTemp, appIds, 100).then(() => { console.info('Succeeded in removing allowed install bundles'); }).catch((err) => { console.error(`Failed to remove allowed install bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.getAllowedInstallBundles getAllowedInstallBundles(admin: Want, callback: AsyncCallback<Array<string>>): void; Obtains the list of bundles that are allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getAllowedInstallBundles(wantTemp, (err, result) => { if (err) { console.error(`Failed to get allowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info(`Succeeded in getting allowed install bundles, result : ${JSON.stringify(result)}`); }); ``` ## bundleManager.getAllowedInstallBundles getAllowedInstallBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void; Obtains the list of bundles that are allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getAllowedInstallBundles(wantTemp, 100, (err, result) => { if (err) { console.error(`Failed to get allowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info(`Succeeded in getting allowed install bundles, result : ${JSON.stringify(result)}`); }); ``` ## bundleManager.getAllowedInstallBundles getAllowedInstallBundles(admin: Want, userId?: number): Promise<Array<string>>; Obtains the list of bundles that are allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.| | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<Array<string>> | Promise used to return the list of the bundles obtained.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getAllowedInstallBundles(wantTemp, 100).then((result) => { console.info(`Succeeded in getting allowed install bundles, result : ${JSON.stringify(result)}`); }).catch((err) => { console.error(`Failed to get allowed install bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.addDisallowedInstallBundles addDisallowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void; Adds a list of bundles that are not allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addDisallowedInstallBundles(wantTemp, appIds, (err) => { if (err) { console.error(`Failed to add disallowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in adding disallowed install bundles'); }); ``` ## bundleManager.addDisallowedInstallBundles addDisallowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void; Adds a list of bundles that are not allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addDisallowedInstallBundles(wantTemp, appIds, 100, (err) => { if (err) { console.error(`Failed to add disallowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in adding disallowed install bundles'); }); ``` ## bundleManager.addDisallowedInstallBundles addDisallowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>; Adds a list of bundles that are not allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addDisallowedInstallBundles(wantTemp, appIds, 100).then(() => { console.info('Succeeded in adding disallowed install bundles'); }).catch((err) => { console.error(`Failed to add disallowed install bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.removeDisallowedInstallBundles removeDisallowedInstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void; Removes a list of bundles that are not allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be removed. | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeDisallowedInstallBundles(wantTemp, appIds, (err) => { if (err) { console.error(`Failed to remove disallowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in removing disallowed install bundles'); }); ``` ## bundleManager.removeDisallowedInstallBundles removeAllowedInstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void; Removes a list of bundles that are not allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeDisallowedInstallBundles(wantTemp, appIds, 100, (err) => { if (err) { console.error(`Failed to remove disallowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in removing disallowed install bundles'); }); ``` ## bundleManager.removeDisallowedInstallBundles removeDisallowedInstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void>; Removes a list of bundles that are not allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array\<string> | Yes | Bundles to be removed. | | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeDisallowedInstallBundles(wantTemp, appIds, 100).then(() => { console.info('Succeeded in removing disallowed install bundles'); }).catch((err) => { console.error(`Failed to remove disallowed install bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.getDisallowedInstallBundles getDisallowedInstallBundles(admin: Want, callback: AsyncCallback<Array<string>>): void; Obtains the list of bundles that are not allowed to be installed by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getDisallowedInstallBundles(wantTemp, (err, result) => { if (err) { console.error(`Failed to get disallowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info(`Succeeded in getting disallowed install bundles, result : ${JSON.stringify(result)}`); }); ``` ## bundleManager.getDisallowedInstallBundles getDisallowedInstallBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void; Obtains the list of bundles that are not allowed to be installed by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getDisallowedInstallBundles(wantTemp, 100, (err, result) => { if (err) { console.error(`Failed to get disallowed install bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info(`Succeeded in getting disallowed install bundles, result : ${JSON.stringify(result)}`); }); ``` ## bundleManager.getDisallowedInstallBundles getDisallowedInstallBundles(admin: Want, userId?: number): Promise<Array<string>>; Obtains the list of bundles that are not allowed to be installed by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.| | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<Array<string>> | Promise used to return the list of the bundles obtained.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getDisallowedInstallBundles(wantTemp, 100).then((result) => { console.info(`Succeeded in getting disallowed install bundles, result : ${JSON.stringify(result)}`); }).catch((err) => { console.error(`Failed to get disallowed install bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.addDisallowedUninstallBundles addDisallowedUninstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void Adds a list of bundles that are not allowed to be uninstalled by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addDisallowedUninstallBundles(wantTemp, appIds, (err) => { if (err) { console.error(`Failed to add disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in adding disallowed uninstall bundles'); }); ``` ## bundleManager.addDisallowedUninstallBundles addDisallowedUninstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void Adds a list of bundles that are not allowed to be uninstalled by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addDisallowedUninstallBundles(wantTemp, appIds, 100, (err) => { if (err) { console.error(`Failed to add disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in adding disallowed uninstall bundles'); }); ``` ## bundleManager.addDisallowedUninstallBundles addDisallowedUninstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void> Adds a list of bundles that are not allowed to be uninstalled by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.addDisallowedUninstallBundles(wantTemp, appIds, 100).then(() => { console.info('Succeeded in adding disallowed uninstall bundles'); }).catch((err) => { console.error(`Failed to add disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.removeDisallowedUninstallBundles removeDisallowedUninstallBundles(admin: Want, appIds: Array\, callback: AsyncCallback<void>): void Removes a list of bundles that are not allowed to be uninstalled by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be added. | | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeDisallowedUninstallBundles(wantTemp, appIds, (err) => { if (err) { console.error(`Failed to remove disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in removing disallowed uninstall bundles'); }); ``` ## bundleManager.removeDisallowedUninstallBundles removeDisallowedUninstallBundles(admin: Want, appIds: Array\, userId: number, callback: AsyncCallback<void>): void Removes a list of bundles that are not allowed to be uninstalled by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array<string> | Yes | Bundles to be removed. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeDisallowedUninstallBundles(wantTemp, appIds, 100, (err) => { if (err) { console.error(`Failed to remove disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info('Succeeded in removing disallowed uninstall bundles'); }); ``` ## bundleManager.removeDisallowedUninstallBundles removeDisallowedUninstallBundles(admin: Want, appIds: Array\, userId?: number): Promise<void> Removes a list of bundles that are not allowed to be uninstalled by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | appIds | Array\<string> | Yes | Bundles to be removed. | | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. If the operation fails, an error object is thrown. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; let appIds = ['com.example.myapplication']; bundleManager.removeDisallowedUninstallBundles(wantTemp, appIds, 100).then(() => { console.info('Succeeded in removing disallowed uninstall bundles'); }).catch((err) => { console.error(`Failed to remove disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.getDisallowedUninstallBundles getDisallowedUninstallBundles(admin: Want, callback: AsyncCallback<Array<string>>): void Obtains the list of bundles that are not allowed to be uninstalled by the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getDisallowedUninstallBundles(wantTemp, (err, result) => { if (err) { console.error(`Failed to get disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info(`Succeeded in getting disallowed uninstall bundles, result : ${JSON.stringify(result)}`); }); ``` ## bundleManager.getDisallowedUninstallBundles getDisallowedUninstallBundles(admin: Want, userId: number, callback: AsyncCallback<Array<string>>): void Obtains the list of bundles that are not allowed to be uninstalled by the given user (specified by **userId**) through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<Array<string>> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getDisallowedUninstallBundles(wantTemp, 100, (err, result) => { if (err) { console.error(`Failed to get disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); return; } console.info(`Succeeded in getting disallowed uninstall bundles, result : ${JSON.stringify(result)}`); }); ``` ## bundleManager.getDisallowedUninstallBundles getDisallowedUninstallBundles(admin: Want, userId?: number): Promise<Array<string>> Obtains the list of bundles that are not allowed to be uninstalled by the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. **Required permissions**: ohos.permission.ENTERPRISE_SET_BUNDLE_INSTALL_POLICY **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.| | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<Array<string>> | Promise used to return the bundle list obtained.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.getDisallowedUninstallBundles(wantTemp, 100).then((result) => { console.info(`Succeeded in getting disallowed uninstall bundles, result : ${JSON.stringify(result)}`); }).catch((err) => { console.error(`Failed to get disallowed uninstall bundles. Code is ${err.code}, message is ${err.message}`); }); ``` ## bundleManager.uninstall uninstall(admin: Want, bundleName: string, callback: AsyncCallback<void>): void Uninstalls the given bundle of the current user without retaining the bundle data through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_INSTALL_BUNDLE **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | bundleName | string | Yes | Bundle name.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.uninstall(wantTemp, 'bundleName', (err) => { if (err) { console.error(`Failed to uninstall bundles. Code is ${err.code}, message is ${err.message}`); } console.info('Succeeded in uninstalling bundles'); }); ``` ## bundleManager.uninstall uninstall(admin: Want, bundleName: string, userId: number, callback: AsyncCallback<void>): void Uninstalls the given bundle of the user specified by **userId** without retaining the bundle data through the specified device administrator application. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.ENTERPRISE_INSTALL_BUNDLE **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | bundleName | string | Yes | Bundle name.| | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.uninstall(wantTemp, 'bundleName', 100, (err) => { if (err) { console.error(`Failed to uninstall bundles. Code is ${err.code}, message is ${err.message}`); } console.info('Succeeded in uninstalling bundles'); }); ``` ## bundleManager.uninstall uninstall(admin: Want, bundleName: string, isKeepData: boolean, callback: AsyncCallback<void>): void Uninstalls the given bundle of the current user through the specified device administrator application. This API uses an asynchronous callback to return the result. If **isKeepData** is **false**, the bundle data is not retained. **Required permissions**: ohos.permission.ENTERPRISE_INSTALL_BUNDLE **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | bundleName | string | Yes | Bundle name.| | isKeepData | boolean | Yes | Whether to retain the bundle data. The value **true** means to retain the bundle data; the value **false** means the opposite.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.uninstall(wantTemp, 'bundleName', true, (err) => { if (err) { console.error(`Failed to uninstall bundles. Code is ${err.code}, message is ${err.message}`); } console.info('Succeeded in uninstalling bundles'); }); ``` ## bundleManager.uninstall uninstall(admin: Want, bundleName: string, userId: number, isKeepData: boolean, callback: AsyncCallback<void>): void Uninstalls the given bundle of the user specified by **userId** through the specified device administrator application. This API uses an asynchronous callback to return the result. If **isKeepData** is **false**, the bundle data is not retained. **Required permissions**: ohos.permission.ENTERPRISE_INSTALL_BUNDLE **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | -------- | ---------------------------------------- | ---- | ------------------------------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application. | | bundleName | string | Yes | Bundle name.| | userId | number | Yes | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | isKeepData | boolean | Yes | Whether to retain the bundle data. The value **true** means to retain the bundle data; the value **false** means the opposite.| | callback | AsyncCallback<void> | Yes | Callback invoked to return the result. If the operation is successful, **err** is **null**. Otherwise, **err** is an error object. | **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.uninstall(wantTemp, 'bundleName', 100, true, (err) => { if (err) { console.error(`Failed to uninstall bundles. Code is ${err.code}, message is ${err.message}`); } console.info('Succeeded in uninstalling bundles'); }); ``` ## bundleManager.uninstall uninstall(admin: Want, bundleName: string, userId?: number, isKeepData?: boolean): Promise<void> Uninstalls the given bundle of the current user (if **userId** is not passed in) or the given user (if **userId** is passed in) through the specified device administrator application. This API uses a promise to return the result. If **isKeepData** is not passed in, the default value **false** is used, which means the bundle data will not be retained. **Required permissions**: ohos.permission.ENTERPRISE_INSTALL_BUNDLE **System capability**: SystemCapability.Customization.EnterpriseDeviceManager **System API**: This is a system API. **Parameters** | Name | Type | Mandatory | Description | | ----- | ----------------------------------- | ---- | ------- | | admin | [Want](js-apis-app-ability-want.md) | Yes | Device administrator application.| | bundleName | string | Yes | Bundle name.| | userId | number | No | User ID. The default value is the user ID of the caller. The user ID must be greater than or equal to **0**.| | isKeepData | boolean | No | Whether to retain the bundle data. The value **true** means to retain the bundle data; the value **false** means the opposite.| **Return value** | Type | Description | | --------------------- | ------------------------- | | Promise<void> | Promise that returns no value. An error object will be thrown if the bundle fails to be uninstalled.| **Error codes** For details about the error codes, see [Enterprise Device Management Error Codes](../errorcodes/errorcode-enterpriseDeviceManager.md). | ID| Error Message | | ------- | ---------------------------------------------------------------------------- | | 9200001 | the application is not an administrator of the device. | | 9200002 | the administrator application does not have permission to manage the device. | **Example** ```js let wantTemp = { bundleName: 'com.example.myapplication', abilityName: 'EntryAbility', }; bundleManager.uninstall(wantTemp, 'bundleName', 100, true).then(() => { console.info('Succeeded in uninstalling bundles'); }).catch((err) => { console.error(`Failed to uninstall bundles. Code is ${err.code}, message is ${err.message}`); }); ```