Immersive Mode Navigation Becomes Sticky After Volume Press or Minimise-Restore

Immersive mode navigation becomes sticky after volume press or minimise-restore

The following code works for me:

public void updateUI() {
final View decorView = getWindow().getDecorView();
decorView.setOnSystemUiVisibilityChangeListener (new View.OnSystemUiVisibilityChangeListener() {
@Override
public void onSystemUiVisibilityChange(int visibility) {
if ((visibility & View.SYSTEM_UI_FLAG_FULLSCREEN) == 0) {
decorView.setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
}
}
});
}

And called the listener on onCreate and onResume methods:

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
updateUI();
}

@Override
public void onResume() {
super.onResume();
updateUI();
}

onBackPressed function not working under IMMERSIVE STICKY mode

If you want to exit the activity when the back button is pressed and the media controller is visible then you can intercept the back button with the following code snippet.

   @Override
public boolean dispatchKeyEvent(KeyEvent event) {
int keyCode = event.getKeyCode();
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
return true;
}
return super.dispatchKeyEvent(event);
}

Which is the same solution to a similar problem here Back button not working in Media player



Related Topics



Leave a reply



Submit