【本文正在参加 2023「盲盒」+码有奖征文活动】 https://ost.51cto.com/posts/25284
(目录)
序言
前段时间研究了下OpenHarmony3.2自带的启动器应用源码,发现壁纸设置api设置无效的根本原因在于启动器内代码写死了一个固定的图片作为壁纸,经过不断地探索尝试,最终通过修改系统启动器和自己开发的一个壁纸设置的应用组合,实现了设置切换系统壁纸。
本次把壁纸设置应用、已修复的启动器安装包、备份替换安装脚本等做了一个整合资源包和安装教程,和大家分享一下,**下载地址见文章下方资源
**!
另外在当前最新的 OpenHarmony 4.0 Beta2 中,官方接口也提供了新的修改壁纸的接口,应该已经修复了之前启动器的这个问题,接下来有空了再继续研究下,等 4.0 Release 发布稳定下来了,再做一个全新的壁纸应用。
注意事项
- 目前只在 OpenHarmony 3.2 Release 的一些旧手机移植设备上或部分开发板上测试过
- 因为修改和重新编译的启动器是 3.2 Release 分支的代码,理论上未测试到的其他设备也是可以的,但并没有做过具体的兼容性测试
安装教程
- 电脑正常配置hdc到环境变量(位置在:
openharmony-sdk\9\toolchains\
),并连接OpenHarmony设备 - 替换已修复的系统启动器应用(替换一次就行)
- 打开文件夹
01-FixedLauncher-3.2Release1
- 运行
_backup-hap.bat
,备份系统原始启动器应用,如遇不兼容,可再替换回去 - 运行
_replace-hap.bat
,注意此操作会清空设备上的/data
数据目录,已安装的应用、媒体文件等都会清空 - 等待设备自动重启并进入系统
- 打开文件夹
- 安装壁纸设置应用
- 打开文件夹
02-WallpaperSettings
- 运行
_install-hap.bat
- 打开文件夹
- 准备壁纸图片并发送到设备
- 打开文件夹
03-Wallpapers
- 放入一些
.jpg
或.png
格式的图片,数量不限,文件名用数字命名递增即可保持应用内壁纸加载顺序,注意仅支持.jpg或.png格式的图片! - 运行
_send-files.cmd
,等待脚本执行结束 - 如果以后想要清空设备上的壁纸图片,运行
_clean-files.cmd
- 打开文件夹
- 好了,在OpenHarmony设备上打开壁纸设置应用即可,玩得愉快~
使用说明
- 切换壁纸预览支持
点击按钮
和左右滑动
- 桌面壁纸设置
即时生效
- 锁屏壁纸设置
需要重启设备才能生效
- 重新加载按钮是用于发送到设备的图片增删改后加载最新的全部图片,其实也可以重启应用实现重新加载
截图预览
写在最后
关于系统启动器的修改、编译的具体实现,以及壁纸应用开发的过程,后续会再做进一步的分享~
附件链接:https://ost.51cto.com/resource/3000
本文作者:westinyang
https://ost.51cto.com/#bkwz
标签:OpenHarmony,启动器,设置,盲盒,OpenHarmony3.2,应用,2023,壁纸,设备 From: https://blog.51cto.com/harmonyos/7368884