【本文正在参加 2023「盲盒」+码有奖征文活动】 https://ost.51cto.com/posts/25284
目录
概述
在OpenHarmony4.0(API10)中,@ohos.wallpaper (壁纸) 模块增加了多个接口,我们可以通过 setCustomWallpaper、setVideo分别来设置系统的静态壁纸和动态壁纸,我们需要在应用中权限配置中加入 ohos.permission.SET_WALLPAPER 权限。
与API9的差异
- 设置壁纸从 setImage 变更为 setCustomWallpaper
- 设置动态壁纸为API10新增
- WallpaperResourceType 为新增枚举类型
- 监听壁纸变化从 wallpaper.on(‘colorChange’) 变更为 wallpaper.on(‘wallpaperChange’)
设置静态壁纸
- wallpaper.setCustomWallpaper
- 第一个参数填写沙箱路径,可以通过
hdc file send test.png /data/app/el2/100/base/你的应用包名/haps/entry/files/
发送文件到应用目录
- 第二个参数为壁纸类型,WALLPAPER_SYSTEM 为桌面壁纸,WALLPAPER_LOCKSCREEN 为锁屏壁纸
设置动态壁纸
- wallpaper.setVideo
- 参数与上面的设置静态壁纸一样
监听壁纸变化
- 除了设置壁纸,也可以订阅壁纸变化通知事件,用于自定义的业务逻辑处理
- 在回调函数listener中,WallpaperType与上面静态壁纸设置中的参数二一样
- 而resourceType是壁纸资源的枚举类型,也是API10新增的类型,DEFAULT为默认图片资源,PICTURE为图片资源,VIDEO为视频资源,PACKAGE为包资源
总结
API9虽然出具完备的开发体系,但目前看来API并没有想象中的那么稳定,因为在API10中,除了壁纸管理服务,还有网络连接管理等很多模块的接口都有所调整,有稳定性提升,也有对原有API不足的补充和增强,所以还是要不断的跟进学习呀!