壁紙

2024-01-23 17:27 更新

壁紙管理服務是系統(tǒng)服務,主要為系統(tǒng)提供壁紙管理服務能力,支持系統(tǒng)顯示、設置、切換壁紙等功能。

說明

本模塊首批接口從API version 7開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

  1. import wallpaper from '@ohos.wallpaper';

WallpaperType7+

定義壁紙的枚舉類型。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

名稱

說明

WALLPAPER_SYSTEM

0

主屏幕壁紙標識。

WALLPAPER_LOCKSCREEN

1

鎖屏壁紙標識。

RgbaColor(deprecated)

定義壁紙顏色信息結構。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

名稱

類型

可讀

可寫

說明

red

number

表示紅色值,范圍為 0 到 255。

green

number

表示綠色值,范圍為 0 到 255。

blue

number

表示藍色值,范圍為 0 到 255。

alpha

number

表示 alpha 值,范圍為 0 到 255。

wallpaper.on('colorChange')(deprecated)

on(type: 'colorChange', callback: (colors: Array<RgbaColor>, wallpaperType: WallpaperType) => void): void

訂閱壁紙顏色變化結果上報事件。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

type

string

取值為'colorChange',表示壁紙顏色變化結果上報事件。

callback

function

壁紙顏色變化觸發(fā)該回調(diào)方法,返回壁紙類型和壁紙的主要顏色信息。

- colors

壁紙的主要顏色信息,其類型見RgbaColor。

- wallpaperType

壁紙類型。

示例:

  1. try {
  2. let listener = (colors, wallpaperType) => {
  3. console.log(`wallpaper color changed.`);
  4. };
  5. wallpaper.on('colorChange', listener);
  6. } catch (error) {
  7. console.error(`failed to on because: ${JSON.stringify(error)}`);
  8. }

wallpaper.off('colorChange')(deprecated)

off(type: 'colorChange', callback?: (colors: Array<RgbaColor>, wallpaperType: WallpaperType) => void): void

取消訂閱壁紙顏色變化結果上報事件。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

type

string

取值為'colorChange',表示取消訂閱壁紙顏色變化結果上報事件。

callback

function

表示要取消的壁紙顏色變化的回調(diào),不填寫該參數(shù)則取消訂閱該type對應的所有回調(diào)。

- colors

壁紙的主要顏色信息,其類型見RgbaColor

- wallpaperType

壁紙類型。

示例:

  1. let listener = (colors, wallpaperType) => {
  2. console.log(`wallpaper color changed.`);
  3. };
  4. try {
  5. wallpaper.on('colorChange', listener);
  6. } catch (error) {
  7. console.error(`failed to on because: ${JSON.stringify(error)}`);
  8. }
  9. try {
  10. // 取消訂閱listener
  11. wallpaper.off('colorChange', listener);
  12. } catch (error) {
  13. console.error(`failed to off because: ${JSON.stringify(error)}`);
  14. }
  15. try {
  16. // 取消所有'colorChange'類型的訂閱
  17. wallpaper.off('colorChange');
  18. } catch (error) {
  19. console.error(`failed to off because: ${JSON.stringify(error)}`);
  20. }

wallpaper.getColors(deprecated)

getColors(wallpaperType: WallpaperType, callback: AsyncCallback<Array<RgbaColor>>): void

獲取指定類型壁紙的主要顏色信息。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

callback

AsyncCallback<Array<RgbaColor>>

回調(diào)函數(shù),返回壁紙的主要顏色信息。

示例:

  1. wallpaper.getColors(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) => {
  2. if (error) {
  3. console.error(`failed to getColors because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to getColors: ${JSON.stringify(data)}`);
  7. });

wallpaper.getColors(deprecated)

getColors(wallpaperType: WallpaperType): Promise<Array<RgbaColor>>

獲取指定類型壁紙的主要顏色信息。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

返回值:

類型

說明

Promise<Array<RgbaColor>>

返回壁紙的主要顏色信息。

示例:

  1. wallpaper.getColors(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) => {
  2. console.log(`success to getColors: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to getColors because: ${JSON.stringify(error)}`);
  5. });

wallpaper.getId(deprecated)

getId(wallpaperType: WallpaperType, callback: AsyncCallback<number>): void

獲取指定類型壁紙的ID。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

callback

AsyncCallback<number>

回調(diào)函數(shù),返回壁紙的ID。如果配置了指定類型的壁紙就返回一個大于等于0的數(shù),否則返回-1。取值范圍是-1到(2^31-1)。

示例:

  1. wallpaper.getId(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) => {
  2. if (error) {
  3. console.error(`failed to getId because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to getId: ${JSON.stringify(data)}`);
  7. });

wallpaper.getId(deprecated)

getId(wallpaperType: WallpaperType): Promise<number>

獲取指定類型壁紙的ID。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

返回值:

類型

說明

Promise<number>

壁紙的ID。如果配置了這種壁紙類型的壁紙就返回一個大于等于0的數(shù),否則返回-1。取值范圍是-1到(2^31-1)。

示例:

  1. wallpaper.getId(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) => {
  2. console.log(`success to getId: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to getId because: ${JSON.stringify(error)}`);
  5. });

wallpaper.getMinHeight(deprecated)

getMinHeight(callback: AsyncCallback<number>): void

獲取壁紙的最小高度值。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

回調(diào)函數(shù),返回壁紙的最小高度值,單位是像素。如果返回值等于0,說明沒有設置壁紙,調(diào)用者應該使用默認顯示的高度值代替。

示例:

  1. wallpaper.getMinHeight((error, data) => {
  2. if (error) {
  3. console.error(`failed to getMinHeight because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to getMinHeight: ${JSON.stringify(data)}`);
  7. });

wallpaper.getMinHeight(deprecated)

getMinHeight(): Promise<number>

獲取壁紙的最小高度值。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

返回值:

類型

說明

Promise<number>

返回壁紙的最小高度值,單位是像素。如果返回值等于0,說明沒有設置壁紙,調(diào)用者應該使用默認顯示的高度值代替。

示例:

  1. wallpaper.getMinHeight().then((data) => {
  2. console.log(`success to getMinHeight: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to getMinHeight because: ${JSON.stringify(error)}`);
  5. });

wallpaper.getMinWidth(deprecated)

getMinWidth(callback: AsyncCallback<number>): void

獲取壁紙的最小寬度值。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<number>

回調(diào)函數(shù),壁紙的最小寬度值,單位是像素。如果返回值等于0,說明沒有設置壁紙,調(diào)用者應該使用默認顯示的寬度值代替。

示例:

  1. wallpaper.getMinWidth((error, data) => {
  2. if (error) {
  3. console.error(`failed to getMinWidth because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to getMinWidth: ${JSON.stringify(data)}`);
  7. });

wallpaper.getMinWidth(deprecated)

getMinWidth(): Promise<number>

獲取壁紙的最小寬度值。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

返回值:

類型

說明

Promise<number>

壁紙的最小寬度值,單位是像素。如果返回值等于0,說明沒有設置壁紙,調(diào)用者應該使用默認顯示的寬度值代替。

示例:

  1. wallpaper.getMinWidth().then((data) => {
  2. console.log(`success to getMinWidth: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to getMinWidth because: ${JSON.stringify(error)}`);
  5. });

wallpaper.isChangePermitted(deprecated)

isChangePermitted(callback: AsyncCallback<boolean>): void

是否允許應用改變當前用戶的壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

回調(diào)函數(shù),返回是否允許應用改變當前用戶的壁紙。如果允許返回true,否則返回false。

示例:

  1. wallpaper.isChangePermitted((error, data) => {
  2. if (error) {
  3. console.error(`failed to isChangePermitted because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to isChangePermitted: ${JSON.stringify(data)}`);
  7. });

wallpaper.isChangePermitted(deprecated)

isChangePermitted(): Promise<boolean>

是否允許應用改變當前用戶的壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

返回值:

類型

說明

Promise<boolean>

返回是否允許應用改變當前用戶的壁紙。如果允許返回true,否則返回false。

示例:

  1. wallpaper.isChangePermitted().then((data) => {
  2. console.log(`success to isChangePermitted: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to isChangePermitted because: ${JSON.stringify(error)}`);
  5. });

wallpaper.isOperationAllowed(deprecated)

isOperationAllowed(callback: AsyncCallback<boolean>): void

是否允許用戶設置壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

callback

AsyncCallback<boolean>

回調(diào)函數(shù),返回是否允許用戶設置壁紙。如果允許返回true,否則返回false。

示例:

  1. wallpaper.isOperationAllowed((error, data) => {
  2. if (error) {
  3. console.error(`failed to isOperationAllowed because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to isOperationAllowed: ${JSON.stringify(data)}`);
  7. });

wallpaper.isOperationAllowed(deprecated)

isOperationAllowed(): Promise<boolean>

是否允許用戶設置壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

返回值:

類型

說明

Promise<boolean>

異步回調(diào)函數(shù),返回是否允許用戶設置壁紙。如果允許返回true,否則返回false。

示例:

  1. wallpaper.isOperationAllowed().then((data) => {
  2. console.log(`success to isOperationAllowed: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to isOperationAllowed because: ${JSON.stringify(error)}`);
  5. });

wallpaper.reset(deprecated)

reset(wallpaperType: WallpaperType, callback: AsyncCallback<void>): void

移除指定類型的壁紙,恢復為默認顯示的壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

需要權限:ohos.permission.SET_WALLPAPER

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

callback

AsyncCallback<void>

回調(diào)函數(shù),移除壁紙成功,error為undefined,否則返回error信息。

示例:

  1. wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
  2. if (error) {
  3. console.error(`failed to reset because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to reset.`);
  7. });

wallpaper.reset(deprecated)

reset(wallpaperType: WallpaperType): Promise<void>

移除指定類型的壁紙,恢復為默認顯示的壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

需要權限:ohos.permission.SET_WALLPAPER

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

返回值:

類型

說明

Promise<void>

無返回結果的Promise對象。

示例:

  1. wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
  2. console.log(`success to reset.`);
  3. }).catch((error) => {
  4. console.error(`failed to reset because: ${JSON.stringify(error)}`);
  5. });

wallpaper.setWallpaper(deprecated)

setWallpaper(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback<void>): void

將指定資源設置為指定類型的壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

需要權限:ohos.permission.SET_WALLPAPER

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

source

string | image.PixelMap

JPEG或PNG文件的Uri路徑,或者PNG格式文件的位圖。

wallpaperType

WallpaperType

壁紙類型。

callback

AsyncCallback<void>

回調(diào)函數(shù),設置壁紙成功,error為undefined,否則返回error信息。

示例:

  1. // source類型為string
  2. let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
  3. wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
  4. if (error) {
  5. console.error(`failed to setWallpaper because: ${JSON.stringify(error)}`);
  6. return;
  7. }
  8. console.log(`success to setWallpaper.`);
  9. });
  10. // source類型為image.PixelMap
  11. import image from '@ohos.multimedia.image';
  12. let imageSource = image.createImageSource("file://" + wallpaperPath);
  13. let opts = {
  14. "desiredSize": {
  15. "height": 3648,
  16. "width": 2736
  17. }
  18. };
  19. imageSource.createPixelMap(opts).then((pixelMap) => {
  20. wallpaper.setWallpaper(pixelMap, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
  21. if (error) {
  22. console.error(`failed to setWallpaper because: ${JSON.stringify(error)}`);
  23. return;
  24. }
  25. console.log(`success to setWallpaper.`);
  26. });
  27. }).catch((error) => {
  28. console.error(`failed to createPixelMap because: ${JSON.stringify(error)}`);
  29. });

wallpaper.setWallpaper(deprecated)

setWallpaper(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise<void>

將指定資源設置為指定類型的壁紙。

說明

從 API version 7開始支持,從API version 9開始廢棄。

需要權限:ohos.permission.SET_WALLPAPER

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

source

string | image.PixelMap

JPEG或PNG文件的Uri路徑,或者PNG格式文件的位圖。

wallpaperType

WallpaperType

壁紙類型。

返回值:

類型

說明

Promise<void>

無返回結果的Promise對象。

示例:

  1. // source類型為string
  2. let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
  3. wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
  4. console.log(`success to setWallpaper.`);
  5. }).catch((error) => {
  6. console.error(`failed to setWallpaper because: ${JSON.stringify(error)}`);
  7. });
  8. // source類型為image.PixelMap
  9. import image from '@ohos.multimedia.image';
  10. let imageSource = image.createImageSource("file://" + wallpaperPath);
  11. let opts = {
  12. "desiredSize": {
  13. "height": 3648,
  14. "width": 2736
  15. }
  16. };
  17. imageSource.createPixelMap(opts).then((pixelMap) => {
  18. wallpaper.setWallpaper(pixelMap, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
  19. console.log(`success to setWallpaper.`);
  20. }).catch((error) => {
  21. console.error(`failed to setWallpaper because: ${JSON.stringify(error)}`);
  22. });
  23. }).catch((error) => {
  24. console.error(`failed to createPixelMap because: ${JSON.stringify(error)}`);
  25. });

wallpaper.getFile(deprecated)

getFile(wallpaperType: WallpaperType, callback: AsyncCallback<number>): void

獲取指定類型的壁紙文件。

說明

從 API version 8開始支持,從API version 9開始廢棄。

需要權限:ohos.permission.GET_WALLPAPER

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

callback

AsyncCallback<number>

回調(diào)函數(shù),調(diào)用成功則返回壁紙文件描述符ID,調(diào)用失敗則返回error信息。

示例:

  1. wallpaper.getFile(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) => {
  2. if (error) {
  3. console.error(`failed to getFile because: ${JSON.stringify(error)}`);
  4. return;
  5. }
  6. console.log(`success to getFile: ${JSON.stringify(data)}`);
  7. });

wallpaper.getFile(deprecated)

getFile(wallpaperType: WallpaperType): Promise<number>

獲取指定類型的壁紙文件。

說明

從 API version 8開始支持,從API version 9開始廢棄。

需要權限:ohos.permission.GET_WALLPAPER

系統(tǒng)能力: SystemCapability.MiscServices.Wallpaper

參數(shù):

參數(shù)名

類型

必填

說明

wallpaperType

WallpaperType

壁紙類型。

返回值:

類型

說明

Promise<number>

調(diào)用成功則返回壁紙文件描述符ID,調(diào)用失敗則返回error信息。

示例:

  1. wallpaper.getFile(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) => {
  2. console.log(`success to getFile: ${JSON.stringify(data)}`);
  3. }).catch((error) => {
  4. console.error(`failed to getFile because: ${JSON.stringify(error)}`);
  5. });
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號