Закройте приложение и запустите домашний экран на Android - PullRequest
75 голосов
/ 11 января 2010

У меня есть два разных вида деятельности. Первый запускает второй. Во втором упражнении я вызываю System.exit(0), чтобы принудительно закрыть приложение, но первое действие автоматически отображается вместо возврата приложения на начальный экран. Как я могу избежать этого и заставить приложение вернуться на домашний экран?

Ответы [ 21 ]

0 голосов
/ 26 сентября 2011

Выполнить второе действие, используя начальное действие для результата:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);

//This line is important
intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);

startActivityForResult(intent, REQUEST_CODE);

Добавить эту функцию в первое задание:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(rquestCode == REQUEST_CODE)
        if(resultCode == RESULT_CANCELED)
            finish();
}

И добавьте это ко второму занятию:

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

        Log.i(TAG, "Back key pressed");
        setResult(RESULT_CANCELED);
        finish();
        return true;
    }
    return super.onKeyDown(keyCode, event);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...