在设置壁纸时包含3个菜单:主屏幕,锁定屏幕,主屏幕和锁定屏幕。
在设置壁纸时遇到一个问题,选择图片设置壁纸,选择“主屏幕”,查看主屏幕壁纸更新成功,但是锁屏壁纸也被更新了。
先整理出设置壁纸的代码流程:
主屏幕和锁定屏幕壁纸文件目录如下:
问题分析:
当出现问题时发现默认情况并没有wallpaper_lock,wallpaper_lock_orig这两个文件(锁屏壁纸),这两个文件仅在设备设置过锁屏壁纸才会生成,所以当仅设置主屏幕壁纸时,并没有锁屏壁纸文件导致锁屏壁纸直接用的主屏幕壁纸。关于锁屏壁纸的逻辑在SystemUI的LockscreenWallpaper中,Framework实现的代码也是WallpaperManager,WallpaperManagerSerivce。
最后,可在适当时机默认创建锁屏壁纸文件即可解决此问题。