[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,6 +125,9 @@ public class MainActivity extends BaseActivity {
} }
public void restart() { public void restart() {
if (BuildCompat.isAtLeastS()) {
recreate();
} else {
Bundle savedInstanceState = new Bundle(); Bundle savedInstanceState = new Bundle();
onSaveInstanceState(savedInstanceState); onSaveInstanceState(savedInstanceState);
finish(); finish();
@ -131,6 +135,7 @@ public class MainActivity extends BaseActivity {
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out); overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
restarting = true; restarting = true;
} }
}
@Override @Override
public boolean dispatchKeyEvent(@NonNull KeyEvent event) { public boolean dispatchKeyEvent(@NonNull KeyEvent event) {