diff --git a/zh-cn/application-dev/reference/apis/js-apis-wallpaper.md b/zh-cn/application-dev/reference/apis/js-apis-wallpaper.md index 9bb19451f0b5c38dd4250215900a122d65e6ba77..87594e9a63c87df96880c301f78ada4b6b42b683 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-wallpaper.md +++ b/zh-cn/application-dev/reference/apis/js-apis-wallpaper.md @@ -13,6 +13,21 @@ ```js import wallpaper from '@ohos.wallpaper'; ``` +## WallpaperResourceType10+ + +定义壁纸的资源枚举类型。 + +**系统能力**: SystemCapability.MiscServices.Wallpaper + +**系统接口**:此接口为系统接口。 + +| 名称 | 值 |说明 | +| -------- | -------- |-------- | +| DEFAULT | 0 |默认资源。 | +| PICTURE | 1 |图片资源。 | +| VIDEO | 2 |视频资源。 | +| PACKAGE | 3 |package资源。 | + ## WallpaperType7+ @@ -44,6 +59,158 @@ import wallpaper from '@ohos.wallpaper'; | alpha | number | 是 | 是 | 表示 alpha 值,范围为 0 到 255。 | +## wallpaper.setVideo10+ + +setVideo(source: string, wallpaperType: WallpaperType, callback: AsyncCallback<void>): void + +将指定资源设置为指定类型的动态壁纸 + +**需要权限**:ohos.permission.SET_WALLPAPER + +**系统能力**: SystemCapability.MiscServices.Wallpaper + +**系统接口**:此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| source | string | 是 | mp4文件的Uri路径。 | +| wallpaperType | [WallpaperType](#wallpapertype) | 是 | 壁纸类型。 | +| callback | AsyncCallback<void> | 是 | 回调函数,设置壁纸成功,error为undefined,否则返回error信息。 | + +**示例:** + +```js +let wallpaperPath = "/data/storage/el2/base/haps/test.mp4"; +try { + wallpaper.setVideo(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => { + 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> + +将指定资源设置为指定类型的动态壁纸 + +**需要权限**:ohos.permission.SET_WALLPAPER + +**系统能力**: SystemCapability.MiscServices.Wallpaper + +**系统接口**:此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| source | string | 是 | mp4文件的Uri路径。 | +| wallpaperType | [WallpaperType](#wallpapertype) | 是 | 壁纸类型。 | + +**返回值:** + +| 类型 | 说明 | +| -------- | -------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let wallpaperPath = "/data/storage/el2/base/haps/test.mp4"; +try { + wallpaper.setVideo(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { + console.log(`success to setVideo.`); + }).catch((error) => { + console.error(`failed to setVideo because: ${JSON.stringify(error)}`); + }); +} catch (error) { + console.error(`failed to setVideo because: ${JSON.stringify(error)}`); +} +``` + +## wallpaper.on('wallpaperChange')10+ + +on(type: 'wallpaperChange', callback: (wallpaperType: WallpaperType, resourceType: WallpaperResourceType) => void): void + +订阅壁纸颜色变化结果上报事件。 + +**系统能力**: SystemCapability.MiscServices.Wallpaper + +**系统接口**:此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| type | string | 是 | 事件回调类型。支持的事件为'wallpaperChange',完成壁纸切换变化后触发该事件。 | +| callback | function | 是 | 壁纸变化触发该回调方法,返回壁纸类型和壁纸壁纸类型。
- wallpaperType
壁纸类型。
- resourceType
壁纸资源类型。 | + +**示例:** + +```js +try { + let listener = (wallpaperType, resourceType) => { + 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) => void): void + +取消订阅壁纸变化结果上报事件。 + +**系统能力**: SystemCapability.MiscServices.Wallpaper + +**系统接口**:此接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------- | -------- | -------- | +| type | string | 是 | 事件回调类型。支持的事件为'wallpaperChange',完成壁纸切换变化后触发该事件。 | +| callback | function | 否 | 表示要取消的壁纸变化的回调,不填写该参数则取消订阅该type对应的所有回调。
- wallpaperType
壁纸类型。
- resourceType
壁纸资源类型。 | + +**示例:** + +```js +let listener = (wallpaperType, resourceType) => { + console.log(`wallpaper color changed.`); +}; +try { + wallpaper.on('wallpaperChange', listener); +} catch (error) { + console.error(`failed to on because: ${JSON.stringify(error)}`); +} + +try { + // 取消订阅listener + wallpaper.off('wallpaperChange', listener); +} catch (error) { + console.error(`failed to off because: ${JSON.stringify(error)}`); +} + +try { + // 取消所有'wallpaperChange'类型的订阅 + wallpaper.off('wallpaperChange'); +} catch (error) { + console.error(`failed to off because: ${JSON.stringify(error)}`); +} +``` + ## wallpaper.getColorsSync9+ getColorsSync(wallpaperType: WallpaperType): Array<RgbaColor> @@ -210,7 +377,7 @@ setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback ```js // source类型为string -let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg"; +let wallpaperPath = "/data/storage/el2/base/haps/js.jpeg"; wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => { if (error) { console.error(`failed to setImage because: ${JSON.stringify(error)}`); @@ -270,7 +437,7 @@ setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise ```js // source类型为string -let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg"; +let wallpaperPath = "/data/storage/el2/base/haps/js.jpeg"; wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => { console.log(`success to setImage.`); }).catch((error) => {