Search code examples
androidandroid-notification-barandroid-titlebarandroid-4.3-jelly-bean

Cant Hide Notification bar in Android 4.3 API 18


Prior to 4.3,

@android:style/Theme.Black.NoTitleBar  

and

 requestWindowFeature(Window.FEATURE_NO_TITLE);
 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
 WindowManager.LayoutParams.FLAG_FULLSCREEN);`

works perfectly to hide the Notification bar. But in 4.3 though the bar is not showing using this code but sliding at the top bring the bar

Sliding shows the screen. See that the bar overlapped 134. enter image description here


Solution

  • I found out there is no simple way to do it. So I use bit of reflection and its working fine.

    Object service  = getSystemService("statusbar");
    Class<?> statusbarManager = Class.forName("android.app.StatusBarManager");
    Method collapse = statusbarManager.getMethod("collapsePanels");
    collapse .setAccessible(true);
    collapse .invoke(service);
    

    Don't forget to add this in manifest.

    <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" />