Android App / Activition, чтобы начать свежие полностью каждый раз, когда он начинается или возобновляется?
-
26-09-2019 - |
Вопрос
У меня есть приложение для Android для Android, и есть некоторые уникальные соображения для этого приложения, поскольку приложение в основном отсутствует навигация (это для маленьких детей). Я не хочу сломать UI приложение (который был успешным на iPhone), добавив кнопку Quit / Restart.
То, что мне действительно нужно, это довольно просто - я хочу, чтобы моя деятельность / приложение начать чистые и новые, когда он начинает. Будь то начальная нагрузка или что-то еще - в основном в любое время onResume называется я хочу совершенно свежий экземпляр моего приложения.
Я изначально подумал, что могу просто выйти / бросить / закончить приложение, когда пользователь уходит. Но я не нашел способ сделать это, что не вызывает сбоев на старте. Также каждый поток поток / стека переполнения по поводу этой идеи наполнен людьми, которые виляют пальцы и говорят, что никогда не выйдут приложение на Android.
Если я не могу выйти из приложения Onexit, есть ли что-то, что я могу сделать, чтобы перезапустить свою активность каждый раз, когда onResume называется? (или это будет бесконечная петля?).
Будет ценить любую помощь!
Решение
Попробуйте начать вашу основную деятельность в onResume
, и очистка стека активности:
public void onResume() {
super.onResume();
startActivity(new Intent(this, MainScreen.class).addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
}
может быть, это не правильные флаги для добавления, но проверьте другой Intent
Флаги, и это может сделать то, что вы хотите!
Другие советы
Завершил, чтобы поработать нормально, позвонив заканчивая () в OnPause ().
Опять же, я ценю совету от людей, говорящих «это не то, как Android делает вещи». У меня довольно хорошее понимание лучших практик в этот момент. Это необычная ситуация для необычного типа пользователя.
В вашей перезагрузке вы можете попробовать это ..
onStop();
onCreate(getIntent().getExtras());