0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

鸿蒙开发系统基础能力:ohos.wallpaper 壁纸

jf_46214456 来源:jf_46214456 作者:jf_46214456 2024-06-27 15:19 次阅读

壁纸

icon-note.gif说明: 本模块首批接口从API version 7开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

导入模块

import wallpaper from '@ohos.wallpaper';

WallpaperType

定义壁纸类型。

系统能力 : 以下各项对应的系统能力均为SystemCapability.MiscServices.Wallpaper。

名称说明
WALLPAPER_LOCKSCREEN锁屏壁纸标识。
WALLPAPER_SYSTEM主屏幕壁纸标识。

wallpaper.getColors

getColors(wallpaperType: WallpaperType, callback: AsyncCallback>): void

获取指定类型壁纸的主要颜色信息

系统能力 : SystemCapability.MiscServices.Wallpaper

参数

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。
callbackAsyncCallback>回调函数,返回壁纸的主要颜色信息。

示例:

wallpaper.getColors(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) = > {
    if (error) {
        console.error(`failed to getColors because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to getColors.`);
});

wallpaper.getColors

getColors(wallpaperType: WallpaperType): Promise>

获取指定类型壁纸的主要颜色信息。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。

返回值:

类型说明
Promise>返回壁纸的主要颜色信息。

示例:

wallpaper.getColors(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
    console.log(`success to getColors.`);
}).catch((error) = > {
    console.error(`failed to getColors because: ` + JSON.stringify(error));
});

wallpaper.getId

getId(wallpaperType: WallpaperType, callback: AsyncCallback): void

获取指定类型壁纸的ID。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。
callbackAsyncCallback回调函数,返回壁纸的ID。如果配置了指定类型的壁纸就返回一个大于等于0的数,否则返回-1。取值范围是-1~2^31-1。

示例:

wallpaper.getId(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) = > {
    if (error) {
        console.error(`failed to getId because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to getId: ` + JSON.stringify(data));
});

wallpaper.getId

getId(wallpaperType: WallpaperType): Promise

获取指定类型壁纸的ID。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。

返回值:

类型说明
Promise壁纸的ID。如果配置了这种壁纸类型的壁纸就返回一个大于等于0的数,否则返回-1。取值范围是-1~2^31-1。

示例:

wallpaper.getId(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
    console.log(`success to getId: ` + JSON.stringify(data));
}).catch((error) = > {
    console.error(`failed to getId because: ` + JSON.stringify(error));
});

wallpaper.getMinHeight

getMinHeight(callback: AsyncCallback): void

获取壁纸的最小高度值。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
callbackAsyncCallback回调函数,返回壁纸的最小高度值,单位是像素。如果返回值等于0,说明没有设置壁纸,调用者应该使用默认显示的高度值代替。

示例:

wallpaper.getMinHeight((error, data) = > {
    if (error) {
        console.error(`failed to getMinHeight because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to getMinHeight: ` + JSON.stringify(data));
});

wallpaper.getMinHeight

getMinHeight(): Promise

获取壁纸的最小高度值。

系统能力 : SystemCapability.MiscServices.Wallpaper

返回值:

类型说明
Promise返回壁纸的最小高度值,单位是像素。如果返回值等于0,说明没有设置壁纸,调用者应该使用默认显示的高度值代替。

示例:

wallpaper.getMinHeight().then((data) = > {
    console.log(`success to getMinHeight: ` + JSON.stringify(data));
}).catch((error) = > {
    console.error(`failed to getMinHeight because: ` + JSON.stringify(error));
});

wallpaper.getMinWidth

getMinWidth(callback: AsyncCallback): void

获取壁纸的最小宽度值。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
callbackAsyncCallback回调函数,壁纸的最小宽度值,单位是像素。如果返回值等于0,说明没有设置壁纸,调用者应该使用默认显示的宽度值代替。

示例:

wallpaper.getMinWidth((error, data) = > {
    if (error) {
        console.error(`failed to getMinWidth because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to getMinWidth: ` + JSON.stringify(data));
});

wallpaper.getMinWidth

getMinWidth(): Promise

获取壁纸的最小宽度值。

系统能力 : SystemCapability.MiscServices.Wallpaper

返回值:

类型说明
Promise壁纸的最小宽度值,单位是像素。如果返回值等于0,说明没有设置壁纸,调用者应该使用默认显示的宽度值代替。

示例:

wallpaper.getMinWidth().then((data) = > {
    console.log(`success to getMinWidth: ` + JSON.stringify(data));
}).catch((error) = > {
    console.error(`failed to getMinWidth because: ` + JSON.stringify(error));
});

wallpaper.isChangePermitted

isChangePermitted(callback: AsyncCallback): void

是否允许应用改变当前用户的壁纸。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
callbackAsyncCallback回调函数,返回是否允许应用改变当前用户的壁纸。如果允许返回true,否则返回false。

示例:

wallpaper.isChangePermitted((error, data) = > {
    if (error) {
        console.error(`failed to isChangePermitted because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to isChangePermitted: ` + JSON.stringify(data));
});

wallpaper.isChangePermitted

isChangePermitted(): Promise

是否允许应用改变当前用户的壁纸。

系统能力 : SystemCapability.MiscServices.Wallpaper

返回值:

类型说明
Promise返回是否允许应用改变当前用户的壁纸。如果允许返回true,否则返回false。

示例:

wallpaper.isChangePermitted().then((data) = > {
    console.log(`success to isChangePermitted: ` + JSON.stringify(data));
}).catch((error) = > {
    console.error(`failed to isChangePermitted because: ` + JSON.stringify(error));
});

wallpaper.isOperationAllowed

isOperationAllowed(callback: AsyncCallback): void

是否允许用户设置壁纸。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
callbackAsyncCallback回调函数,返回是否允许用户设置壁纸。如果允许返回true,否则返回false。

示例:

wallpaper.isOperationAllowed((error, data) = > {
    if (error) {
        console.error(`failed to isOperationAllowed because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to isOperationAllowed: ` + JSON.stringify(data));
});

wallpaper.isOperationAllowed

isOperationAllowed(): Promise

是否允许用户设置壁纸。

系统能力 : SystemCapability.MiscServices.Wallpaper

返回值:

类型说明
Promise异步回调函数,返回是否允许用户设置壁纸。如果允许返回true,否则返回false。

示例:

wallpaper.isOperationAllowed().then((data) = > {
    console.log(`success to isOperationAllowed: ` + JSON.stringify(data));
}).catch((error) = > {
    console.error(`failed to isOperationAllowed because: ` + JSON.stringify(error));
});

wallpaper.reset

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

移除指定类型的壁纸,恢复为默认显示的壁纸。

需要权限 :ohos.permission.SET_WALLPAPER

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。
callbackAsyncCallback回调函数,调用成功则返回是否移除成功的结果,调用失败则返回error信息。

示例:

wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) = > {
    if (error) {
        console.error(`failed to reset because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to reset.`);
});

wallpaper.reset

reset(wallpaperType: WallpaperType): Promise

移除指定类型的壁纸,恢复为默认显示的壁纸。

需要权限 :ohos.permission.SET_WALLPAPER

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。

返回值:

类型说明
Promise调用成功则返回是否移除成功的结果,调用失败则返回error信息。

示例:

wallpaper.reset(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
    console.log(`success to reset.`);
}).catch((error) = > {
    console.error(`failed to reset because: ` + JSON.stringify(error));
});

wallpaper.setWallpaper

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

将指定资源设置为指定类型的壁纸。

需要权限 :ohos.permission.SET_WALLPAPER

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
sourcestring[PixelMap]
wallpaperType[WallpaperType]壁纸类型。
callbackAsyncCallback回调函数,调用成功则返回是返回设置的结果,调用失败则返回error信息。

示例:

// source类型为string
let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) = > {    
    if (error) {        
        console.error(`failed to setWallpaper because: ` + JSON.stringify(error));       
        return;   
    }    
    console.log(`success to setWallpaper.`);
});

// source类型为image.PixelMap
import image from '@ohos.multimedia.image';
let imageSource = image.createImageSource("file://" + wallpaperPath);
let opts = {
    "desiredSize": {
        "height": 3648,
        "width": 2736
    }
};
imageSource.createPixelMap(opts).then((pixelMap) = > {      
    wallpaper.setWallpaper(pixelMap, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) = > {    
        if (error) {       
            console.error(`failed to setWallpaper because: ` + JSON.stringify(error));
            return;
        }    
        console.log(`success to setWallpaper.`);
    });
}).catch((error) = > {       
    console.error(`failed to createPixelMap because: ` + JSON.stringify(error));
});

wallpaper.setWallpaper

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

将指定资源设置为指定类型的壁纸。

需要权限 :ohos.permission.SET_WALLPAPER

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
sourcestring[PixelMap]
wallpaperType[WallpaperType]壁纸类型。

返回值:

类型说明
Promise调用成功则返回是返回设置的结果,调用失败则返回error信息。

示例:

// source类型为string
let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
wallpaper.setWallpaper(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
    console.log(`success to setWallpaper.`);
}).catch((error) = > {
    console.error(`failed to setWallpaper because: ` + JSON.stringify(error));
});

// source类型为image.PixelMap
import image from '@ohos.multimedia.image';
let imageSource = image.createImageSource("file://" + wallpaperPath);
let opts = {
    "desiredSize": {
        "height": 3648,
        "width": 2736
    }
};
imageSource.createPixelMap(opts).then((pixelMap) = > {      
    wallpaper.setWallpaper(pixelMap, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
        console.log(`success to setWallpaper.`);
    }).catch((error) = > {
        console.error(`failed to setWallpaper because: ` + JSON.stringify(error));
    });
}).catch((error) = > {       
    console.error(`failed to createPixelMap because: ` + JSON.stringify(error));
});

wallpaper.getFile8+

getFile(wallpaperType: WallpaperType, callback: AsyncCallback): void

获取指定类型的壁纸文件。

需要权限 :ohos.permission.GET_WALLPAPER 和 ohos.permission.READ_USER_STORAGE

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。
callbackAsyncCallback回调函数,调用成功则返回壁纸文件描述符ID,调用失败则返回error信息。

示例:

wallpaper.getFile(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error, data) = > {
    if (error) {
        console.error(`failed to getFile because: ` + JSON.stringify(error));
        return;
    }
    console.log(`success to getFile: ` + JSON.stringify(data));
});

wallpaper.getFile8+

getFile(wallpaperType: WallpaperType): Promise

获取指定类型的壁纸文件。

需要权限 :ohos.permission.GET_WALLPAPER 和 ohos.permission.READ_USER_STORAGE

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。

返回值:

类型说明
Promise调用成功则返回壁纸文件描述符ID,调用失败则返回error信息。

示例:

wallpaper.getFile(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
    console.log(`success to getFile: ` + JSON.stringify(data));
}).catch((error) = > {
    console.error(`failed to getFile because: ` + JSON.stringify(error));
});

wallpaper.getPixelMap

getPixelMap(wallpaperType: WallpaperType, callback: AsyncCallback): void;

获取壁纸图片的像素图。

需要权限 :ohos.permission.GET_WALLPAPER 和 ohos.permission.READ_USER_STORAGE

系统能力 : SystemCapability.MiscServices.Wallpaper

系统API :此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。
callbackAsyncCallback回调函数,调用成功则返回壁纸图片的像素图大小,调用失败则返回error信息。

示例:

wallpaper.getPixelMap(wallpaper.WallpaperType.WALLPAPER_SYSTEM, function (err, data) {
    console.info('wallpaperXTS === > testGetPixelMapCallbackSystem err : ' + JSON.stringify(err));
    console.info('wallpaperXTS === > testGetPixelMapCallbackSystem data : ' + JSON.stringify(data));
});

wallpaper.getPixelMap

getPixelMap(wallpaperType: WallpaperType): Promise

获取壁纸图片的像素图。

需要权限 :ohos.permission.GET_WALLPAPER 和 ohos.permission.READ_USER_STORAGE

系统能力 : SystemCapability.MiscServices.Wallpaper

系统API :此接口为系统接口,三方应用不支持调用。

参数:

参数名类型必填说明
wallpaperType[WallpaperType]壁纸类型。

返回值:

类型说明
Promise调用成功则返回壁纸图片的像素图大小,调用失败则返回error信息。

示例:

wallpaper.getPixelMap(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then((data) = > {
    console.info('wallpaperXTS === > testGetPixelMapPromiseSystem data : ' + data);
    console.info('wallpaperXTS === > testGetPixelMapPromiseSystem data : ' + JSON.stringify(data));
}).catch((err) = > {
    console.info('wallpaperXTS === > testGetPixelMapPromiseSystem err : ' + err);
    console.info('wallpaperXTS === > testGetPixelMapPromiseSystem err : ' + JSON.stringify(err));
});

wallpaper.on('colorChange')

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

订阅壁纸颜色变化结果上报事件。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
typestring取值为'colorChange',表示壁纸颜色变化结果上报事件。
callbackfunction壁纸颜色变化触发该回调方法,返回壁纸类型和壁纸的主要颜色信息。 - colors 壁纸的主要颜色信息,其类型见[RgbaColor]。 - wallpaperType 壁纸类型。

示例:

let listener = (colors, wallpaperType) = > {
    console.log(`wallpaper color changed.`);
};
wallpaper.on('colorChange', listener);

wallpaper.off('colorChange')

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

取消订阅壁纸颜色变化结果上报事件。

系统能力 : SystemCapability.MiscServices.Wallpaper

参数:

参数名类型必填说明
typestring取值为'colorChange',表示取消订阅壁纸颜色变化结果上报事件。
callbackfunction表示取消壁纸颜色变化结果上报,不填写该参数则取消订阅该type对应的所有回调。 - colors 壁纸的主要颜色信息,其类型见[RgbaColor]。 - wallpaperType 壁纸类型。HarmonyOSOpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151450.png

示例:

let listener = (colors, wallpaperType) = > {
    console.log(`wallpaper color changed.`);
};
wallpaper.on('colorChange', listener);
// 取消订阅listener
wallpaper.off('colorChange', listener);
// 取消所有'colorChange'类型的订阅
wallpaper.off('colorChange');

RgbaColor

系统能力 : 以下各项对应的系统能力均为SystemCapability.MiscServices.Wallpaper。

名称参数类型可读可写说明
rednumber表示红色值,范围为 0 到 255。
greennumber表示绿色值,范围为 0 到 255。
bluenumber表示蓝色值,范围为 0 到 255。
alphanumber表示 alpha 值,范围为 0 到 255。

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发系统
    +关注

    关注

    0

    文章

    37

    浏览量

    9573
  • 鸿蒙
    +关注

    关注

    55

    文章

    2174

    浏览量

    42291
收藏 人收藏

    评论

    相关推荐

    鸿蒙实战项目开发:【短信服务】

    岗位需要掌握那些核心技术点?为此鸿蒙开发学习必须要系统性的进行。 而网上有关鸿蒙开发资料非常的少,假如你想学好
    发表于 03-03 21:29

    鸿蒙原生应用元服务-访问控制(权限)开发应用权限列表一

    ohos.permission.SET_WALLPAPER 允许应用设置静态壁纸。 权限级别 :normal 授权方式 :system_grant ACL使能 :TRUE
    发表于 04-23 14:33

    华为harmonyOS设置壁纸的方法分享

      升级完鸿蒙系统的小伙伴们的壁纸是不是经典的润泽蓝?你们想换其他风格的壁纸吗?下面我将详细介绍华为harmonyOS设置壁纸的两种方法。 
    发表于 04-07 14:54

    HarmonyOS设置桌面/锁屏壁纸的教程分享

    1、常用界面壁纸类型:壁纸类型2、权限程序允许设置壁纸ohos.permission.SET_WALLPAPER允许程序通过指定显示大小或边距来设置
    发表于 05-09 11:37

    请问Openharmony壁纸应用如何修改?

    尝试添加Openharmony周刊锁屏壁纸应用的背景图片系统环境:openharmony 周刊 20220510IDE版本:DevEco Studio 3.0 Beta3 3.0.0.900应用名称
    发表于 05-18 15:43

    鸿蒙原生应用/元服务开发-Stage模型能力接口(一)

    @ohos.app.ability.Ability (Ability基类)一、说明 UIAbility和ExtensionAbility的基类,提供系统配置更新回调和系统内存调整回调。本模块首批接口
    发表于 12-08 16:34

    鸿蒙原生应用/元服务开发-Stage模型能力接口(二)

    系统能力:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.Core2.AbilityConstant.LaunchReas
    发表于 12-11 14:48

    鸿蒙原生应用/元服务开发-Stage模型能力接口(四)

    ‘@ohos.app.ability.AbilityStage’; 1.AbilityStage.onCreate onCreate(): void 当应用创建时调用。 系统能力
    发表于 12-14 15:39

    鸿蒙原生应用/元服务开发-Stage模型能力接口(五)

    在Stage模型下使用 二、 导入模块 import common from \'@ohos.app.ability.common\'; 三、系统能力 :以下各项对应的系统
    发表于 12-15 15:11

    鸿蒙原生应用/元服务开发-Stage模型能力接口(七)

    下文ApplicationContext对系统环境变化监听回调的能力,包括onConfigurationUpdated方法。本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记
    发表于 12-19 11:03

    鸿蒙原生应用/元服务开发-Stage模型能力接口(八)

    ‘@ohos.app.ability.ExtensionAbility’; 系统能力:SystemCapability.Ability.AbilityRuntime.AbilityCore 示例: class MyExtens
    发表于 12-20 16:12

    鸿蒙系统是基于什么开发

    争议,那么鸿蒙系统到底是基于什么开发的呢?下面小编就为大家带来鸿蒙系统是基于什么开发的答案。
    的头像 发表于 07-05 17:12 1.1w次阅读

    鸿蒙开发系统基础能力ohos.hilog 日志打印

    hilog日志系统,使应用/服务可以按照指定级别、标识和格式字符串输出日志内容,帮助开发者了解应用/服务的运行状态,更好地调试程序。
    的头像 发表于 06-25 15:59 169次阅读

    鸿蒙开发系统基础能力ohos.pasteboard 剪贴板

    以下各项对应的系统能力均为SystemCapability.MiscServices.Pasteboard。
    的头像 发表于 06-26 16:48 169次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>系统</b>基础<b class='flag-5'>能力</b>:<b class='flag-5'>ohos</b>.pasteboard 剪贴板

    鸿蒙开发系统基础能力ohos.screenLock 锁屏管理

    锁屏管理服务是OpenHarmony中系统服务,为锁屏应用提供注册亮屏、灭屏、开启屏幕、结束休眠、退出动画、请求解锁结果监听,并提供回调结果给锁屏应用。锁屏管理服务向三方应用提供请求解锁、查询锁屏状态、查询是否设置锁屏密码的能力
    的头像 发表于 06-27 11:41 190次阅读
    <b class='flag-5'>鸿蒙</b><b class='flag-5'>开发</b><b class='flag-5'>系统</b>基础<b class='flag-5'>能力</b>:<b class='flag-5'>ohos</b>.screenLock 锁屏管理