[app] Restart activity with recreate on Android S (#959)

This commit is contained in:
tehcneko 2021-08-20 14:26:30 +08:00 committed by GitHub
parent 4b02172fd9
commit bde68a44cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 6 deletions

View File

@ -29,6 +29,7 @@ import android.view.MotionEvent;
import android.view.View; import android.view.View;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.core.os.BuildCompat;
import androidx.navigation.NavController; import androidx.navigation.NavController;
import androidx.navigation.Navigation; import androidx.navigation.Navigation;
import androidx.navigation.fragment.NavHostFragment; import androidx.navigation.fragment.NavHostFragment;
@ -124,12 +125,16 @@ public class MainActivity extends BaseActivity {
} }
public void restart() { public void restart() {
Bundle savedInstanceState = new Bundle(); if (BuildCompat.isAtLeastS()) {
onSaveInstanceState(savedInstanceState); recreate();
finish(); } else {
startActivity(newIntent(savedInstanceState, this)); Bundle savedInstanceState = new Bundle();
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); onSaveInstanceState(savedInstanceState);
restarting = true; finish();
startActivity(newIntent(savedInstanceState, this));
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
restarting = true;
}
} }
@Override @Override