title: Android: How to use SystemUiVisibility or other way to ALWAYS hide navigation(the back, home button)
body: <p>I want to implement a full-screen video player.</p>
  
  <p>To hide the Actionbar, I use:</p>
  
  <pre><code>requestWindowFeature(Window.FEATURE_NO_TITLE);
  </code></pre>
  
  <p>Then the Activity has no title(Actionbar).</p>
  
  <p>To hide status bar, I use:</p>
  
  <pre><code>getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
  </code></pre>
  
  <p>Then the Activity has no status bar, but navigation bar still exists.</p>
  
  <p>So, to hide navigation bar, I use:</p>
  
  <pre><code>rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
  </code></pre>
  
  <p>Where the rootView is be set to the Activity's ContentView. After I set SystemUiVisibility, the Activity has no navigation bar exactly, but when I touch the screen, the navigation bar is show.</p>
  
  <p><strong>How should I do to make navigation bar always be hidden?</strong></p>
  
  <p>More Details:</p>
  
  <p>On Android API 19+, I can use:</p>
  
  <pre><code>rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
  </code></pre>
  
  <p>and override onWindowFocusChanged method:</p>
  
  <pre><code>public void onWindowFocusChanged(boolean hasFocus) {
      super.onWindowFocusChanged(hasFocus);
      if (android.os.Build.VERSION.SDK_INT &gt;= 19) {
          if (hasFocus) {
              rootView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
          }
      }
  }
  </code></pre>
  
  <p>After I do that, navigation bar is hidden, even though I touch the screen. <strong>BUT</strong> in the Activity, There are MediaController and VideoView, when I touch the VideoView, the MediaController displays, and navigation bar displays, too!</p>