BackButton возвращает меня домой, но возвращает к неправильному действию

У меня есть приложение для Android с loginActivity, а затем с MainActivity.

Начальной точкой является loginActivity, когда вы впервые открываете приложение, в которое вы входите, а затем оно запускает MainActivity.

Я переопределил onBackPressed из MainActivity, поэтому вы не вернетесь к loginActivity, если не нажмете кнопку выхода из системы.

@Override
public void onBackPressed() {
Intent mainActivity = new Intent(Intent.ACTION_MAIN);
    mainActivity.addCategory(Intent.CATEGORY_HOME);
    mainActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(mainActivity);
    finish();
}

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

Есть ли способ «обойти» loginActivity или сообщить Android, в каком действии я остаюсь в последний раз?


person Nacho    schedule 13.03.2014    source источник
comment
я обнаружил, что кто-то использует moveTaskToBack(true); это правильно использовать? любые комментарии? спасибо   -  person Nacho    schedule 13.03.2014
comment
вы можете использовать sharedprefrences для хранения имени последнего посещенного пользователя активности (т. е. всякий раз, когда какое-либо действие возобновляется, измените sharedprefrence на его имя). И в основном действии запустите это действие напрямую.   -  person Vaibhav Ajay Gupta    schedule 13.03.2014


Ответы (2)


Я бы установил предпочтение, если пользователь уже вошел в систему. В onCreate LoginActivity вы можете проверить предпочтение и запустить HomeActivity, если необходимо, + вызвать finish() в LoginActivity. Таким образом, вам даже не придется переопределять onBackPressed позже, и все будет работать.

person azertiti    schedule 13.03.2014

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

person invertigo    schedule 13.03.2014