开机启动时设置mStatusBarManager.disable

1、android开机时,如果你的应用先调用了mStatusBarManager.disable,然后SystemUI才调用registerStatusBar,那么mStatusBarManager.disable可以正常设置。
在调用mStatusBarManager.disable时,因为StatusBarManagerService中的mBar为空(SystemUI还没注册),因此disable时设置的导航栏属性会先存储起来,
当SystemUI调用registerStatusBar方法时,mStatusBarManager.disable之前设置的导航栏属性会传递给SystemUI进行设置,SystemUI就可以进行去除home、recent键和禁止下拉操作。

2、如果是SystemUI先调用registerStatusBar,在一定时间内(几百毫秒?),然后你的应用调用了mStatusBarManager.disable,设置不会生效。
设置的导航栏属性可以传递到SystemUI的CommandQueue中,CommandQueue再通过handler设置,
但是因为registerStatusBar注册时也会设置导航栏属性,mStatusBarManager.disable设置的hadler Message会被removeMessages掉了,导致mStatusBarManager.disable设置不生效

你可能感兴趣的:(开机启动时设置mStatusBarManager.disable)