在源代码中隐藏系统 UI 的导航栏

hide nevigation bar from SystemUI in source code

已阅读文章How to hide navigation bar permanently in android activity? 也试过Permanently hide Navigation Bar in an activity

但这不是我想要的 我的问题是我可以更改永久隐藏导航栏的源代码吗

如路径:frameworks\base\services\java\com\android\server\SystemServer.java 主要开始的地方 我在哪里可以设置导航栏不可见

在用户视图中,他们在打开设备电源后永远看不到导航栏

该解决方案可能只适用于 android 11 是的,我会自己回答这个问题

移除整个系统的导航栏 与 android 7

相比,andoird 11 的工作方式完全不同

他们删除了 PhoneStatusBar.java 并将其合并为 StatusBar.java

他们都在..\frameworks\base\packages\SystemUI\src\com\android\systemui\statusbar\phone

在人们使用的Android7方法中

mWindowManager.removeViewImmediate(mNavigationBarView);

但这可能无法正常工作并可能导致 SystemUI 关闭

尝试使用下面的方法来做到这一点 路径..\SystemUI\src\com\android\systemui\statusbar\NavigationBarController.java

@Override
    public void onDisplayRemoved(int displayId) {
        removeNavigationBar(displayId);
    }


Using view to set flag cannot work properly because when you switch window or app the nav bar will appear again