不积跬步无以至千里

一.前摘
怎么判断当前的用户处于全屏模式呢?处于全屏模式当中即是状态栏处于沉浸状态,而往往此时用户其实是不想被打扰的。因此可以针对当前如果用户处于全屏模式下,我们做一些勿扰模式的一种行为,类似于当处于全屏模式我们就不再弹出全屏通知等等。
二.正文
现在我们判断全屏模式肯定是因为状态栏的沉浸式出现的,因此我们就以此为突破口,查看SystemUI的源码中怎么控制状态栏的消失的?
代码路径:
app/src/com/android/systemui/statusbar/phone/StatusBar.java
@Override // CommandQueue
public void setWindowState(
int displayId, @WindowType int window, @WindowVisibleState int state) {
if (displayId != mDisplayId) {
return;
}
boolean showing = state == WINDOW_STATE_SHOWING;

本文探讨如何在Android中利用SystemUI源码判断当前界面是否为全屏模式,重点在于状态栏的沉浸状态。通过分析StatusBar.java文件,了解状态栏的三种状态:显示、隐藏和正在隐藏,并说明如何根据这些状态来确定全屏模式,以便在全屏时执行勿扰模式操作。
订阅专栏 解锁全文
1151

被折叠的 条评论
为什么被折叠?



