1、强制永久显示状态栏(不被app隐藏)
代码路径:\frameworks\base\services\core\java\com\android\server\policy\PhoneWindowManager.java
/** {@inheritDoc} */
@Override
public void applyPostLayoutPolicyLw(WindowState win, WindowManager.LayoutParams attrs,WindowState attached, WindowState imeTarget) {
final boolean affectsSystemUi = win.canAffectSystemUiFlags();
if (DEBUG_LAYOUT) Slog.i(TAG, "Win " + win + ": affectsSystemUi=" + affectsSystemUi);
applyKeyguardPolicyLw(win, imeTarget);
//modify start 220190808
//final int fl = PolicyControl.getWindowFlags(win, attrs);
int fl = PolicyControl.getWindowFlags(win, attrs);
fl |= FLAG_FORCE_NOT_FULLSCREEN; //增加FLAG_FORCE_NOT_FULLSCREEN编辑,强制不全屏
//modify end 220190808
//省略一部分代码
//...
if (mTopFullscreenOpaqueWindowState == null && affectsSystemUi) {
if ((fl & FLAG_FORCE_NOT_FULLSCREEN) !=

本文详细介绍了如何通过修改Android源代码实现状态栏的强制显示及固定无背景View的功能。主要涉及两个部分:一是通过增加FLAG_FORCE_NOT_FULLSCREEN标志强制状态栏显示;二是通过调整DecorView中的逻辑,使状态栏背景固定为无背景,颜色不变。这些修改位于PhoneWindowManager.java和DecorView.java文件中。
最低0.47元/天 解锁文章
261

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



