不积跬步无以至千里
最近项目项目里添加了屏保功能,屏保实际为锁屏或者屏幕休眠,出现的一个Window,此用以显示时间与通知的重要信息,并具有省电模式的一个界面。
这一块的实现主要是通过添加一个Window,此Window的层级位于锁屏之上,但是又要低于一些系统重要的弹窗Window(比如调节音量、PowerUI重启的等等),因此此处挑选了Window层级为 WindowManager.LayoutParams.TYPE_STATUS_BAR_PANEL,但是其层级是低于导航栏的等级的 WindowManager.LayoutParams.TYPE_NAVIGATION_BAR,因此经过测试提出如下两个bug:
1、Settings设置了导航栏的不可隐藏,但是现在发现经过锁屏操作之后,发现导航栏被隐藏了。
2、发现在无锁屏状态时,并开启屏保功能,唤醒屏保,发现屏保可以上滑出导航栏并能操作导航栏的按钮。
bug图如下: