Skip to content

Android Hide Status and Navigation Bars

Rockchip Configuration Method

Command Line Modification

Hide status bar via command line:

(ADB)$ am broadcast -a android.intent.action.HIDE_STATUSBAR_BAR

Show status bar via command line:

(ADB)$ am broadcast -a android.intent.action.SHOW_STATUSBAR_BAR

Hide navigation bar via command line:

$ am broadcast -a android.intent.action.HIDE_NAVIGATION_BAR

Show navigation bar via command line:

$ am broadcast -a android.intent.action.SHOW_NAVIGATION_BAR

APP Modification

Obtain the Status Bar and Navigation Bar Test APP from the network storage.

SDK Source Code Modification

Hide Status Bar by Default

Modification to hide the status bar by default in Android 13:

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -952,6 +952,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
         mRegisterStatusBarResult = result;

         createAndAddWindows(result);
+        hideStatusBar();

         if (mWallpaperSupported) {
             // Make sure we always have the most current wallpaper info.

Modification to disable status bar pull-down by default in Android 13:

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -536,10 +536,12 @@ public class CommandQueue extends IStatusBar.Stub implements

     // TODO(b/118592525): add multi-display support if needed.
     public boolean panelsEnabled() {
-        final int disabled1 = getDisabled1(mDisplayTracker.getDefaultDisplayId());
-        final int disabled2 = getDisabled2(mDisplayTracker.getDefaultDisplayId());
-        return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
-                && (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0;
+        return false;
+        // final int disabled1 = getDisabled1(mDisplayTracker.getDefaultDisplayId());
+        // final int disabled2 = getDisabled2(mDisplayTracker.getDefaultDisplayId());
+        // return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
+        //         && (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0;
+        
     }

Hide Navigation Bar by Default

Modification to hide the navigation bar by default in Android 13:

--- a/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
+++ b/frameworks/base/packages/SystemUI/src/com/android/systemui/statusbar/phone/CentralSurfacesImpl.java
@@ -952,6 +952,8 @@ public class CentralSurfacesImpl implements CoreStartable, CentralSurfaces {
         mRegisterStatusBarResult = result;

         createAndAddWindows(result);
+        hideNavigation();

         if (mWallpaperSupported) {
             // Make sure we always have the most current wallpaper info.

Use Gesture Navigation by Default

Modification to use gesture navigation by default in Android 13:

--- a/device/rockchip/rk356x/overlay/frameworks/base/core/res/res/values/config.xml
+++ b/device/rockchip/rk356x/overlay/frameworks/base/core/res/res/values/config.xml
@@ -61,7 +61,7 @@
          0: 3 button mode (back, home, overview buttons)
          1: 2 button mode (back, home buttons + swipe up for overview)
          2: gestures only for back, home and overview -->
-    <integer name="config_navBarInteractionMode">0</integer>
+    <integer name="config_navBarInteractionMode">2</integer>
     <bool name="config_swipe_up_gesture_setting_available">true</bool>
 </resources>

AllWinner Configuration Method

A133 Command Line Modification

Modify via setting system properties:

setprop persist.sys.ban_sb true
setprop persist.sys.ban_nb true
reboot