Android App / Activity To Start Fresh Полностью каждый раз, когда он запускается или возобновляется? - PullRequest
5 голосов
/ 19 ноября 2010

У меня есть детское приложение для Android, и у этого приложения есть несколько уникальных особенностей, поскольку в нем практически отсутствует навигация (для маленьких детей).Я не хочу нарушать пользовательский интерфейс моего приложения (который был успешно реализован на iPhone), добавив кнопку выхода / перезапуска.

Что мне действительно нужно, так это довольно просто - я хочу, чтобы мое действие / приложение запускалось чистым иновый каждый раз, когда начинается.Будь то начальная загрузка или что-то еще - в основном, когда вызывается onResume, я хочу совершенно новый экземпляр моего приложения.

Сначала я думал, что смогу просто выйти / выйти / закончить приложение, когда пользователь уйдет.Но я не нашел способ сделать это, чтобы не вызвать сбоев при запуске.Кроме того, каждый пост о переполнении темы / стека заполнен людьми, которые машут пальцами и говорят, что вам никогда не следует выходить из приложения на Android.

Если я не могу выйти из приложения на Exit, есть ли что-то, что я могусделать, чтобы возобновить мою деятельность каждый раз, когда вызывается onResume?(или это будет бесконечный цикл?).

Буду очень признателен за любую помощь!

Ответы [ 3 ]

9 голосов
/ 19 ноября 2010

Попробуйте запустить основное действие в 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 флаги, и это может сделать то, что вы хотите!

документация флагов намерений

5 голосов
/ 07 декабря 2010

Закончилось, чтобы заставить его работать нормально, вызывая finish () в onPause ().

Опять же, я ценю совет людей, которые говорят: «Это не так, как Android делает вещи».У меня довольно хорошее понимание лучших практик на данный момент.Это необычная ситуация для необычного типа пользователя.

2 голосов
/ 19 ноября 2010

в перезагрузке вы можете попробовать это ..

onStop();
onCreate(getIntent().getExtras());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...