Запустите Действие и четкую историю действия

Таким образом, у меня есть огромный лабиринт операций в моем приложении. То, что я должен сделать, то, что, когда пользователь входит в систему в систему, история действия должна быть очищена. Я не могу только использовать конец (), когда я запускаю новое действие, потому что я хочу, чтобы операции имели историю, пока пользователь не входит в систему. У меня есть experimentet с различными флагами при запуске действия, но я не имел никакого успеха. Какие-либо идеи?

Удачи,

6
задан pgsandstrom 22 April 2010 в 15:46
поделиться

1 ответ

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

android:noHistory="true"

Затем в каждом действии у меня есть этот код:

public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK) {
        Intent intent = new Intent(MyActivity.this, ParentActivity.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        startActivity(intent);
        return true;
    }
    return super.onKeyDown(keyCode, event);

}

FLAG_ACTIVITY_NO_ANIMATION работает только на телефонах с уровнем API 5 или выше, но что он делает состоит в том, что вместо анимации «открыть новое действие» воспроизводится анимация «возврат к предыдущему действию» (по крайней мере, на дроиде и нексусе). Это предотвращает появление сбивающего с толку того, что новое действие запускается, когда пользователь нажимает кнопку возврата.

Это решение не идеально. На телефонах с уровнем API ниже 5 анимация становится некорректной. Кроме того, это не очень аккуратно и требует большего количества кода, чем я предпочитаю. Тем не менее, это работает ...

2
ответ дан 17 December 2019 в 18:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: