Приложение Android закроется и снова начнется снова - PullRequest
1 голос
/ 15 марта 2012

Я создал простое приложение для Android, которое использует кнопки для навигации по различным действиям, приложение запускается на странице 1, вы нажимаете кнопку на странице 2 или 3 и т. Д. И запускает требуемое действие, просто.

С чем у меня возникают проблемы (скорее раздражение, чем проблема), когда вы нажимаете ДОМОЙ или выходите из приложения, потому что android не сразу убивает приложение, а сохраняет страницу, на которой вы запомнились, и открывает приложение на деятельности 2 или 3, например. Я хочу, чтобы приложение, когда оно закрыто, снова вернулось к началу приложения и открылось на 1, я могу вернуться к 1, нажав назад, но это действительно не то, что я хотел.

Я надеюсь, что кто-то может прочитать это и понять, самое простое решение, пожалуйста

1 Ответ

6 голосов
/ 15 марта 2012

Что вам нужно сделать, так это использовать жизненный цикл Activity в своих интересах.Когда экран по какой-либо причине скрыт, вызывается его метод onPause.Когда он снова отображается, вызывается onResume.Однако onResume вызывается даже при первом отображении нового действия.Другая проблема состоит в том, что onPause вызывается при переходе между операциями.

Таким образом, в конечном итоге вы хотите "перезапустить" приложение, когда последние действия onPause и onResume будут вызваны последовательно.Попробуйте этот класс, и пусть все ваши Activity расширяют его вместо Activity.

public abstract class BaseActivity extends Activity {

    private static BaseActivity lastPausedActivity = null;

    @Override
    protected void onPause() {

        super.onPause();
        lastPausedActivity = this;
    }

    @Override
    protected void onResume() {

        super.onResume();
        if(this == lastPausedActivity) {
            lastPausedActivity = null;
            Intent intent = new Intent(this, FirstActivity.class);
            intent.setFlags( Intent.FLAG_ACTIVITY_CLEAR_TOP );
            startActivity( intent );
        }
    }
}

Я не тестировал этот код, поэтому может потребоваться несколько настроек, но логика должна быть здравой.

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