通话中状态栏不能下拉

今天用手机打电话,发现通话过程中状态栏拉不下来,而到别的应用发现无此情况,由此感到状态栏能否下拉应该也是可以控制的。稍稍分析了下原因,感觉应该不是在statusbarService中监听电话状态做到的,而应该是Phone这个apk自己的操作。于是查阅Phone的源码,果然发现了。

在Incallscreen.java中,在IncallScreen这个activity的onResume()的时候,有一行关键的代码,google也对此做了解释

//Disable the status bar "window shade" the entire time we're on the incall screen
NotificationMgr.getDefault().getStatusBarMgr().enableExpandedView(false);

继续跟踪代码可知,还是利用了StatusBarManager的DISABLE_EXPAND的属性,那么别的应用也是可以设置此属性的,只需要获取到StatusBarManager的对象就好了。

有时间的话再详细分析此属性发生作用的全部过程。

 

你可能感兴趣的:(Google,手机,电话)