android 锁屏独立壁纸

之前的一个项目开发的支持锁屏壁纸和桌面壁纸。

开始时,有考虑从lockscreen做文章。在锁屏时,切换锁屏壁纸,进入home,再切换home壁纸。效果很差,卡顿,效率极低。

后来只能从WallpaperManager,WindowManager从考虑。最终实现了锁屏壁纸,效果很好。

WindowManagerService管理着各种窗口,Launcher, Lockscreen, InputMethodWindow, 以及其他的应用APP窗口。对于WindowManagerService来说他们都是一个个Window。ActivityManagerService调整这些Window的Z轴位置,以及可见性。来达到我们所看到的效果。因为android默认支持Launcher壁纸。所以在WindowManagerService的windows里只能看到这一个wallpaper。所以要再支持lockscreen wallpaper。只要再启动一个wallpaper window。当lockscreen时,将lockscreen wallpaper window, 调整到home wallpaper的窗口上面。就OK了。


首先看针对WindowManagerService的修改:

我们在WindowManagerService.java里添加支持lockscreen wallpaper 窗口方法addWallpaperWindowToken(),以及lockscreen wallpaper窗口变量mLockScreenWallpaperWindowToken

这样WallpaperManagerService就可以调用WindowManagerService.addWallpaperWindowToken()来把Lockscreen wallpaper window 添加到系统的窗口列表中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值