Предположим, есть два вида деятельности:
1. Activity A (Launcher) Активность
2. активность BLauncher активность не запускается из последних приложения
При запуске активность B из Деятельность A, Я завершаю Деятельность A.
startActivity(new Intent(A.this, B.class));
finish();
и если кнопка выхода щелкнул от активность B, в активность B получить законченный.
ExitButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
Итак, предположим, что активность B запускаются из Activity A, и я получаю выход из активность B (или выхода из приложения). Есть 2 вариант, откуда приложение запускаются:
1. панели запуска
2. Из последнего приложения
Теперь, если приложение запускается из панели запуска, затем Activity A запускаются. Но если приложение запустилось с Недавние приложения, то Активность B получить запущен.
Я думаю, активность B остается в стеке, даже если я называю послевкусие() для него.
Мой вопрос: как я могу очистить стек, когда приложение выйдет? Испытано в Android 2.3.6 версии
Простой ответ: вы не можете. Это дизайн Android, и в Stackoverflow есть несколько вопросов по этой проблеме. это некоторые странные решения, но ни один из них на самом деле не работает или 100% соответствует API. – brummfondel
Я думаю, что вы начинаете активность B из Activity A напрямую без каких-либо входных данных, а также для закрытия активности. Поэтому, когда вы запускаете приложение из последних, оно может выглядеть как активность B будет отображаться непосредственно взамен активности A. –
Другим решением может быть использование фрагментов, внутри onCreate() установлен ваш фрагмент по умолчанию. –