не могу покинуть мое приложение - PullRequest
0 голосов
/ 26 марта 2012

У меня есть два занятия. Во первое я прихожу ко второму занятию из первого так:

Intent i = new Intent(this, SecondClass.class);
startActivity(i);

но специальное условие требует, чтобы я перезапустил первое действие, потому что я возвращаюсь к нему тем же способом:

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {

            //...

            Intent i = new Intent(this, FirstClass.class);
            startActivity(i);

            super.onKeyDown(keyCode, event);
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

Потому что я не могу покинуть первое занятие: Если я использую

@Override
    public void onBackPressed()
    {
        finish();
        System.exit(0);
        return;
    }

или

@Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {

        finish();
            System.exit(0);

        return super.onKeyDown(keyCode, event);
    }
            return super.onKeyDown(keyCode, event);
}

Он закрывает мое приложение, но открывает второе действие. Помогите пожалуйста!

Ответы [ 3 ]

2 голосов
/ 26 марта 2012

Когда вы перейдете ко второму занятию, закройте первое занятие, как это

Intent i = new Intent(this, SecondClass.class);
startActivity(i);
finish(); // Close your first activity

Теперь, когда вы занимаетесь вторым действием, вы можете возобновить свое первое действие этим

@Override
public void onBackPressed()
{
    Intent i = new Intent(this, FirstClass.class);
    startActivity(i);
    finish(); // Close your second activity
}

Это так просто:)

1 голос
/ 26 марта 2012

просто вызовите finish () после того, как вы начнете новое действие (и только после того, как вы начнете новое действие), и пусть android сделает все остальное.

Intent i = new Intent(this, SecondClass.class);
startActivity(i);
finish();

Запустит второе действие и закроет первое. Если вы нажмете клавишу «Назад» сейчас, это приведет вас к последнему открытому действию (не обязательно одному из вашего приложения)

0 голосов
/ 26 марта 2012

Я думаю, вам не следует этого делать, я имею в виду запуск и окончание действий нажатием кнопки «назад» самостоятельно, поскольку платформа Android уже предоставляет вам стек действий, чтобы изменить поведение действий в стеке и их экземпляры как Вы можете использовать AndroidManifest.xml для этого Режим запуска активности

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