不积跬步无以至千里
一.前摘
其实这里禁止状态栏的下拉是我们经常遇到的一些功能需求场景,其实前边的场景我们也有写过一篇文章 SystemUI Android7.1禁止锁屏下拉状态栏,而这种修改是处理当处于锁屏第一界面时的禁止状态栏的下拉或者弹出,而其中还有一篇文章说明了怎么平台提供的接口如何禁止状态栏的下拉:https://blog.csdn.net/WDYShowTime/article/details/89497672,而我们本片文章讲的就是如何通过修改SystemUI代码来控制状态拉的下拉,其实通过刚才的这个文章就可以说明了怎么控制状态栏下拉的。
二.如何控制状态栏在某个情形下状态栏的下拉
修改代码如下:app/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
@Override
public boolean panelEnabled() {
//修改在这里,这里就可以添加任何你想添加的情形
//return mCommandQueue.panelsEnabled();
return mCommandQueue.panelsEnabled() && (!mBar.isKeyguardShowing() || !mBar.isOccluded());
}
这里通过添加更多的判断条件就可以&&对下拉各种情形的处理。我这里添加的是锁屏的二级界面(即就是锁屏状态下会显示其他的界面的时候)禁止状态栏的下拉。
你可以添加自己需要的场景来控制状态栏的下拉,就可以&&添加判断逻辑既可以,为啥可以通过此处控制可以通过另一个博客:怎样给应用提供禁止下拉状态栏接口