The application should be displayed on full screen without panels. To do this, I register in the manifest android:theme=" @android :style/Theme.NoTitleBar.Fullscreen" for the entire application. In android 4.1.2 all panels are removed. When I put the same application on 4.0.4. The top panel (as I understand it belongs to the activity) is removed, and the bottom (system) remains.

Can I hide the system panel in this version of the android? Is it possible to do this without root?

Update: found the following options:

 //Скрывает значки на панели, вернее превращает их в маленькие точки, панель не скрывает View.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE ); //Судя по описанию должна скрывать панель, но у меня, опять-таки не работает View.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION); //То же самое, тоже не работает View.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN); 

There is no solution yet.

  • What is this lower system? show screen? - Gorets
  • @Gorets, I can not put the image, alas, but here is the link just from the Internet 3.bp.blogspot.com/-vgGNkW9zg_Y/TwWQ2zAEF6I/AAAAAAAACwQ/ ... What I’m on top of is ActionBar. And the bottom - the system panel. - anutakay
  • @rasmisha, that is, you need to either root or update, but for this, too, to root? If so, then it is regrettable. - anutakay
  • and how to exit the application without them? fullscreen you can try to do in the activation code - Gorets
  • @Gorets, there was no problem with the exit in the newer system. That is, the panel was not shown, but the back and home buttons worked fine. In fact, even the inability to exit the program would not be a problem, anyway, ultimately, you need to make your own launcher based on it. The ideal option would be to be able to show or hide this panel and hang only the necessary settings on it, or hide it completely and make your own. - anutakay

5 answers 5

In my opinion it is impossible. There was even an article on this topic on Habré: Kiosk Mode application on Android .

    As it is impossible, it is even possible - before connecting the layout in the activation you need to register a couple of lines

     requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    • Cool, thanks - rasmisha
    • one
      only not working on 4.0.4 - sercxjo
    • Well, I have 4.1.1 and everything works, but what is etto in general for version 4.0.4? I see 4.0.3 in the SDK manager and then immediately 4.1.2 can be downloaded - Mitya_Potemkin
    • wait, the question is about 4.0.x was) Threat not all test on the emulator, 4.0.4 is) - rasmisha
    • there is 4.0.4, it is integrated into the SDK with 4.0.3 (API Level 15, ICE_CREAM_SANDWICH_MR1) developer.android.com/guide/topics/manifest/… - anutakay

    It turns out whether the status bar is removed or not depends on the value of the tv.hideStatusBar.enable parameter in the tv.hideStatusBar.enable file. If its value is true , then the panel is removed simply by installing the theme with Fullsceen or other standard methods, if false , it is not removed, and the maximum is minimized to points with

     View.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LOW_PROFILE ); 

    tv.hideStatusBar.enable value of tv.hideStatusBar.enable without root access is not possible for me. Having obtained superuser rights, I changed the value using the build.prop Editor application. Now everything works as it should.

    Performance

     Runtime.getRuntime().exec(new String[]{"su","-c","service call activity 79 s16 com.android.systemui"}); 

    it didn't work for me. A warning appears that the application required root-rights, but the panel is not removed.

    Using hidden api:

     SystemProperties.set("tv.hideStatusBar.enable", "true"); 

    also did not help, just nothing happens. Although, it may be necessary to reboot to accept the changes. In any case, the third-party editor required a reboot for the application. But maybe some more special rights are needed.

    For example, system applications can remove the status bar on the fly. For example, the system Activity PositionSetting comes as follows:

      protected void onPause() { SystemProperties.set("vplayer.hideStatusBar.enable", "false"); super.onPause(); } protected void onResume() { SystemProperties.set("vplayer.hideStatusBar.enable", "true"); super.onResume(); } 

    thus hiding the panel only at the time of his performance. However, doing the same in my application has no effect.

      It is possible, but with an additional hack. There is a program Hide Status bar http://ppareit.github.com/HideBar/

      • @Artemis in question: Is it possible to do this without root? In response: This application needs ROOT! Only install when you have root + busybox + superuser! - rasmisha

      The bottom panel (not the top header) is where the home / menu / back buttons and so on are located. impossible to remove.

      These buttons are actually the only application control buttons (especially home) - they are fixed at the axis level and cannot be removed programmatically.

      As some might have noticed, these buttons do not appear only on devices with physical buttons home / menu / back.

      • As I understood from this: androidextrememodding.blogspot.ru/2012/10/… For phones, it is possible to remove the status bar, but not for tablets. In practice, the device will be assigned to phones or tablets does not depend on the presence of buttons or resolution, but depends only on the will of the manufacturer. Here I have two very similar prefixes: the buttons are the same, the resolution is the same, the version of the android is the same, only the assemblies are different, but on one everything works, and on the other, apparently, it is forbidden. - anutakay