Начать операцию и очистить историю действий

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

Ура,

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

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, анимация становится неправильной. Кроме того, это не супер аккуратно и требует больше кода, чем я предпочитаю. Тем не менее, он работает …

Вы можете использовать 65536 вместо Intent.FLAG_ACTIVITY_NO_ANIMATION для более ранних версий