# @ohos.wallpaper (Wallpaper) (System API) The **wallpaper** module provides APIs for switching between wallpapers. Since API version 9, the APIs of this module function as system APIs, and only system applications are allowed to switch between wallpapers. Applications that use the wallpaper, for example, the home screen, need to subscribe to wallpaper changes and update the wallpaper accordingly. > **NOTE** > > The initial APIs of this module are supported since API version 7. Newly added APIs will be marked with a superscript to indicate their earliest API version. > This topic describes only system APIs provided by the module. For details about its public APIs, see [@ohos.wallpaper (Wallpaper)](js-apis-wallpaper.md). ## Modules to Import ```ts import wallpaper from '@ohos.wallpaper'; ``` ## WallpaperResourceType10+ Enumerates the types of wallpaper resources. **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. | Name| Value|Description| | -------- | -------- |-------- | | DEFAULT | 0 |Default type (image resource).| | PICTURE | 1 |Image resource.| | VIDEO | 2 |Video resource.| | PACKAGE | 3 |Package resource.| ## wallpaper.setVideo10+ setVideo(source: string, wallpaperType: WallpaperType, callback: AsyncCallback<void>): void Sets a video resource as the home screen wallpaper or lock screen wallpaper. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | source | string | Yes| URI of an MP4 file.| | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| | callback | AsyncCallback<void> | Yes| Callback used to return the result. If the wallpaper is set, **err** is **undefined**. Otherwise, **err** is an error object.| **Example** ```ts import { BusinessError } from '@ohos.base'; let wallpaperPath = "/data/storage/el2/base/haps/entry/files/test.mp4"; try { wallpaper.setVideo(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError) => { if (error) { console.error(`failed to setVideo because: ${JSON.stringify(error)}`); return; } console.log(`success to setVideo.`); }); } catch (error) { console.error(`failed to setVideo because: ${JSON.stringify(error)}`); } ``` ## wallpaper.setVideo10+ setVideo(source: string, wallpaperType: WallpaperType): Promise<void> Sets a video resource as the home screen wallpaper or lock screen wallpaper. This API uses a promise to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | source | string | Yes| URI of an MP4 file.| | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise that returns no value.| **Example** ```ts import { BusinessError } from '@ohos.base'; let wallpaperPath = "/data/storage/el2/base/haps/entry/files/test.mp4"; try { wallpaper.setVideo(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { console.log(`success to setVideo.`); }).catch((error: BusinessError) => { console.error(`failed to setVideo because: ${JSON.stringify(error)}`); }); } catch (error) { console.error(`failed to setVideo because: ${JSON.stringify(error)}`); } ``` ## wallpaper.setCustomWallpaper10+ setCustomWallpaper(source: string, wallpaperType: WallpaperType, callback: AsyncCallback<void>): void Sets a specific ZIP file as the wallpaper. This API works only when **com.ohos.sceneboard** is set. Applications with the **ohos.permission.GET_WALLPAPER** permission have access to the **/data/wallpaper/** directory. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | source | string | Yes| ZIP file to set as the wallpaper.| | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| | callback | AsyncCallback<void> | Yes| Callback used to return the result. If the wallpaper is set, **err** is **undefined**. Otherwise, **err** is an error object.| **Example** ```ts import { BusinessError } from '@ohos.base'; let wallpaperPath = "/data/storage/el2/base/haps/entry/files/test.zip"; try { wallpaper.setCustomWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError) => { if (error) { console.error(`failed to setCustomWallpaper because: ${JSON.stringify(error)}`); return; } console.log(`success to setCustomWallpaper.`); }); } catch (error) { console.error(`failed to setCustomWallpaper because: ${JSON.stringify(error)}`); } ``` ## wallpaper.setCustomWallpaper10+ setCustomWallpaper(source: string, wallpaperType: WallpaperType): Promise<void> Sets a specific ZIP file as the wallpaper. This API works only when **com.ohos.sceneboard** is set. Applications with the **ohos.permission.GET_WALLPAPER** permission have access to the **/data/wallpaper/** directory. This API uses a promise to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | source | string | Yes| ZIP file to set as the wallpaper.| | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise that returns no value.| **Example** ```ts import { BusinessError } from '@ohos.base'; let wallpaperPath = "/data/storage/el2/base/haps/entry/files/test.zip"; try { wallpaper.setCustomWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { console.log(`success to setCustomWallpaper.`); }).catch((error: BusinessError) => { console.error(`failed to setCustomWallpaper because: ${JSON.stringify(error)}`); }); } catch (error) { console.error(`failed to setCustomWallpaper because: ${JSON.stringify(error)}`); } ``` ## wallpaper.on('wallpaperChange')10+ on(type: 'wallpaperChange', callback: (wallpaperType: WallpaperType, resourceType: WallpaperResourceType, uri?: string) => void): void Subscribes to wallpaper change events. **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value is fixed at **'wallpaperChange'**.| | callback | function | Yes| Callback used to return the wallpaper type and wallpaper resource type.
- **wallpaperType**: wallpaper type.
- **resourceType**: wallpaper resource type.
- **uri**: URI of the wallpaper resource.| **Example** ```ts try { let listener = (wallpaperType: wallpaper.WallpaperType, resourceType: wallpaper.WallpaperResourceType): void => { console.log(`wallpaper color changed.`); }; wallpaper.on('wallpaperChange', listener); } catch (error) { console.error(`failed to on because: ${JSON.stringify(error)}`); } ``` ## wallpaper.off('wallpaperChange')10+ off(type: 'wallpaperChange', callback?: (wallpaperType: WallpaperType, resourceType: WallpaperResourceType, uri?: string) => void): void Unsubscribes from wallpaper change events. **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | type | string | Yes| Event type. The value is fixed at **'wallpaperChange'**.| | callback | function | No| Callback used for unsubscription. If this parameter is not set, this API unsubscribes from all callbacks of the specified event type.
- **wallpaperType**: wallpaper type.
- **resourceType**: wallpaper resource type.
- **uri**: URI of the wallpaper resource.| **Example** ```ts let listener = (wallpaperType: wallpaper.WallpaperType, resourceType: wallpaper.WallpaperResourceType): void => { console.log(`wallpaper color changed.`); }; try { wallpaper.on('wallpaperChange', listener); } catch (error) { console.error(`failed to on because: ${JSON.stringify(error)}`); } try { // Unsubscribe from the listener. wallpaper.off('wallpaperChange', listener); } catch (error) { console.error(`failed to off because: ${JSON.stringify(error)}`); } try { // Unsubscribe from all callbacks of the 'wallpaperChange' event type. wallpaper.off('wallpaperChange'); } catch (error) { console.error(`failed to off because: ${JSON.stringify(error)}`); } ``` ## wallpaper.getColorsSync9+ getColorsSync(wallpaperType: WallpaperType): Array<RgbaColor> Obtains the main color information of the wallpaper of the specified type. **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Array<[RgbaColor](js-apis-wallpaper.md#rgbacolordeprecated)> | Promise used to return the main color information of the wallpaper.| **Example** ```ts try { let colors = wallpaper.getColorsSync(wallpaper.WallpaperType.WALLPAPER_SYSTEM); console.log(`success to getColorsSync: ${JSON.stringify(colors)}`); } catch (error) { console.error(`failed to getColorsSync because: ${JSON.stringify(error)}`); } ``` ## wallpaper.getMinHeightSync9+ getMinHeightSync(): number Obtains the minimum height of this wallpaper. **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Return value** | Type| Description| | -------- | -------- | | number | Promise used to return the minimum wallpaper height, in pixels. If the return value is **0**, no wallpaper is set. In this case, the default height should be used instead.| **Example** ```ts let minHeight = wallpaper.getMinHeightSync(); ``` ## wallpaper.getMinWidthSync9+ getMinWidthSync(): number Obtains the minimum width of this wallpaper. **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Return value** | Type| Description| | -------- | -------- | | number | Promise used to return the minimum wallpaper width, in pixels. If the return value is **0**, no wallpaper is set. In this case, the default width should be used instead.| **Example** ```ts let minWidth = wallpaper.getMinWidthSync(); ``` ## wallpaper.restore9+ restore(wallpaperType: WallpaperType, callback: AsyncCallback<void>): void Resets the wallpaper of the specified type to the default wallpaper. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| | callback | AsyncCallback<void> | Yes| Callback used to return the result. If the wallpaper is reset, **err** is **undefined**. Otherwise, **err** is an error object.| **Example** ```ts import { BusinessError } from '@ohos.base'; wallpaper.restore(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError) => { if (error) { console.error(`failed to restore because: ${JSON.stringify(error)}`); return; } console.log(`success to restore.`); }); ``` ## wallpaper.restore9+ restore(wallpaperType: WallpaperType): Promise<void> Resets the wallpaper of the specified type to the default wallpaper. This API uses a promise to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise that returns no value.| **Example** ```ts import { BusinessError } from '@ohos.base'; wallpaper.restore(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { console.log(`success to restore.`); }).catch((error: BusinessError) => { console.error(`failed to restore because: ${JSON.stringify(error)}`); }); ``` ## wallpaper.setImage9+ setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback<void>): void Sets a specified source as the wallpaper of a specified type. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | source | string \| [image.PixelMap](../apis-image-kit/js-apis-image.md) | Yes| URI of a JPEG or PNG file, or pixel map of a PNG file.| | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| | callback | AsyncCallback<void> | Yes| Callback used to return the result. If the wallpaper is set, **err** is **undefined**. Otherwise, **err** is an error object.| **Example** ```ts import { BusinessError } from '@ohos.base'; import image from '@ohos.multimedia.image'; // The source type is string. let wallpaperPath = "/data/storage/el2/base/haps/entry/files/js.jpeg"; wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError) => { if (error) { console.error(`failed to setImage because: ${JSON.stringify(error)}`); return; } console.log(`success to setImage.`); }); // The source type is image.PixelMap. let imageSource = image.createImageSource("file://" + wallpaperPath); let opts: image.DecodingOptions = { desiredSize: { height: 3648, width: 2736 } }; imageSource.createPixelMap(opts).then((pixelMap: image.PixelMap) => { wallpaper.setImage(pixelMap, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError) => { if (error) { console.error(`failed to setImage because: ${JSON.stringify(error)}`); return; } console.log(`success to setImage.`); }); }).catch((error: BusinessError) => { console.error(`failed to createPixelMap because: ${JSON.stringify(error)}`); }); ``` ## wallpaper.setImage9+ setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise<void> Sets a specified source as the wallpaper of a specified type. This API uses a promise to return the result. **Required permissions**: ohos.permission.SET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | source | string \| [image.PixelMap](../apis-image-kit/js-apis-image.md) | Yes| URI of a JPEG or PNG file, or pixel map of a PNG file.| | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Promise<void> | Promise that returns no value.| **Example** ```ts import { BusinessError } from '@ohos.base'; import image from '@ohos.multimedia.image'; // The source type is string. let wallpaperPath = "/data/storage/el2/base/haps/entry/files/js.jpeg"; wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { console.log(`success to setImage.`); }).catch((error: BusinessError) => { console.error(`failed to setImage because: ${JSON.stringify(error)}`); }); // The source type is image.PixelMap. let imageSource = image.createImageSource("file://" + wallpaperPath); let opts: image.DecodingOptions = { desiredSize: { height: 3648, width: 2736 } }; imageSource.createPixelMap(opts).then((pixelMap: image.PixelMap) => { wallpaper.setImage(pixelMap, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { console.log(`success to setImage.`); }).catch((error: BusinessError) => { console.error(`failed to setImage because: ${JSON.stringify(error)}`); }); }).catch((error: BusinessError) => { console.error(`failed to createPixelMap because: ${JSON.stringify(error)}`); }); ``` ## wallpaper.getImage9+ getImage(wallpaperType: WallpaperType, callback: AsyncCallback<image.PixelMap>): void; Obtains the pixel map for the wallpaper of the specified type. This API only works for the static wallpaper set using **setImage**. This API uses an asynchronous callback to return the result. **Required permissions**: ohos.permission.GET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| | callback | AsyncCallback<[image.PixelMap](../apis-image-kit/js-apis-image.md)> | Yes| Callback used to return the result. If the operation is successful, the pixel map of the wallpaper is returned. Otherwise, error information is returned.| **Example** ```ts import { BusinessError } from '@ohos.base'; import image from '@ohos.multimedia.image'; wallpaper.getImage(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError, data: image.PixelMap) => { if (error) { console.error(`failed to getImage because: ${JSON.stringify(error)}`); return; } console.log(`success to getImage: ${JSON.stringify(data)}`); }); ``` ## wallpaper.getImage9+ getImage(wallpaperType: WallpaperType): Promise<image.PixelMap> Obtains the pixel map for the wallpaper of the specified type. This API only works for the static wallpaper set using **setImage**. This API uses a promise to return the result. **Required permissions**: ohos.permission.GET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Promise<[image.PixelMap](../apis-image-kit/js-apis-image.md)> | Promise used to return the result. If the operation is successful, the pixel map of the wallpaper is returned. Otherwise, error information is returned.| **Example** ```ts import { BusinessError } from '@ohos.base'; import image from '@ohos.multimedia.image'; wallpaper.getImage(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data: image.PixelMap) => { console.log(`success to getImage: ${JSON.stringify(data)}`); }).catch((error: BusinessError) => { console.error(`failed to getImage because: ${JSON.stringify(error)}`); }); ``` ## wallpaper.getPixelMap(deprecated) getPixelMap(wallpaperType: WallpaperType, callback: AsyncCallback<image.PixelMap>): void; Obtains the pixel map for the wallpaper of the specified type. This API uses an asynchronous callback to return the result. > **NOTE** > > This API is supported since API version 7 and deprecated since API version 9. **Required permissions**: ohos.permission.GET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| | callback | AsyncCallback<image.PixelMap> | Yes| Callback used to return the result. If the operation is successful, the pixel map of the wallpaper is returned. Otherwise, error information is returned.| **Example** ```ts import { BusinessError } from '@ohos.base'; import image from '@ohos.multimedia.image'; wallpaper.getPixelMap(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error: BusinessError, data: image.PixelMap) => { if (error) { console.error(`failed to getPixelMap because: ${JSON.stringify(error)}`); return; } console.log(`success to getPixelMap : ${JSON.stringify(data)}`); }); ``` ## wallpaper.getPixelMap(deprecated) getPixelMap(wallpaperType: WallpaperType): Promise<image.PixelMap> Obtains the pixel map for the wallpaper of the specified type. This API uses a promise to return the result. > **NOTE** > > This API is supported since API version 7 and deprecated since API version 9. **Required permissions**: ohos.permission.GET_WALLPAPER **System capability**: SystemCapability.MiscServices.Wallpaper **System API**: This is a system API. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | wallpaperType | [WallpaperType](js-apis-wallpaper.md#wallpapertype7) | Yes| Wallpaper type.| **Return value** | Type| Description| | -------- | -------- | | Promise<image.PixelMap> | Promise used to return the result. If the operation is successful, the pixel map of the wallpaper is returned. Otherwise, error information is returned.| **Example** ```ts import { BusinessError } from '@ohos.base'; import image from '@ohos.multimedia.image'; wallpaper.getPixelMap(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data: image.PixelMap) => { console.log(`success to getPixelMap : ${JSON.stringify(data)}`); }).catch((error: BusinessError) => { console.error(`failed to getPixelMap because: ${JSON.stringify(error)}`); }); ```