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
Android: How to Monitor Wifi Signal Strength
Animation in Notification Bar Custom View
How How to Do Ussd Requests on Android
Android Make Animated Video from List of Images
How to Disable All Views Inside the Layout
Android Studio Build Fails with "Task '' Not Found in Root Project 'Myproject'."
Onclicklistener - X,Y Location of Event
Difference Between Content_Main.Xml and Activity_Main.Xml
Android Gradle Build Error:(9, 0) Gradle Dsl Method Not Found: 'Compile()'
Android Replace the Current Fragment with Another Fragment
Android App Crashes with Sigabrt Signal 6 Only While Eclipse Debugging
How to Check Internal and External Storage If Exist
If I Call Getmeasuredwidth() or Getwidth() for Layout in Onresume They Return 0
How to Add External Jar Libraries to an Android Project from the Command Line
Open Android App from Url Using Intent-Filter Not Working