Android App / Activition, чтобы начать свежие полностью каждый раз, когда он начинается или возобновляется?

StackOverflow https://stackoverflow.com/questions/4219577

Вопрос

У меня есть приложение для 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());
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top