У меня есть 4 действия, позволяющие предполагать активность «A», «B», «C» и «D», когда я перехожу из C> D> A, и когда я нажимаю кнопку «Назад» из «А», затем «C», стал видимым для меня, а не существовал из приложения. Как я могу это понять.Как удалить активность из back stack в android?
1
A
ответ
0
В активности А вы можете закончить все действия в onResume для этого вам нужно хранить всю деятельность в этом в staic переменной
активность B
public static B b;
oncreate(){
//...
b=this;
}
Сделайте то же самое для C и D и в A
onResume(){
clearAllTasks();
}
public void clearAllTasks(){
if(B.b!=null){
B.b.finish();
}
if(C.c!=null){
C.c.finish();
}
if(D.d!=null){
D.d.finish();
}
}
in manifest
<application>
<activity android:name="A"
android:noHistory="true">
</activity>
//...
</application>
0
переопределять backpress как это, откуда вы хотите, чтобы вернуться на главный экран
@Override
public void onBackPressed() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle("Exit");
builder.setMessage("Do you want to exit?");
builder.setInverseBackgroundForced(true);
builder.setNegativeButton("Yes",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
/*finish();
System.exit(0);*/
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
});
builder.setPositiveButton("No",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builder.create();
builder.show();
}
1
Вы можете уничтожить вашу активность при вызове следующей активности. Итак, после Intent
вы можете вызвать метод finish()
, чтобы уничтожить эту активность.
Проверить это один
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
При использовании этого он не идет к предыдущей деятельности вместо этого он заканчивает свою деятельность.
ИЛИ
Вы также можете использовать NO_HISTORY
пометка
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
0
Я предполагаю, что вы пытаетесь выйти из приложения. Вот ваш ответ: How to exit from the application and show the home screen?
@Override
public void onBackPressed() {
Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}
Смежные вопросы
- 1. Активность Android Back Stack Проблема с навигацией
- 2. Back Stack maintain - android
- 3. Fragment back stack, android?
- 4. Фрагмент Back-stack android
- 5. Ручной доступ Android Back Stack
- 6. android activity stack- back navigation
- 7. Получить следующий элемент Back-Stack в Android
- 8. Android back stack и Memory reclaim
- 9. Android clear Activity back stack
- 10. Android активность Stack Вопрос
- 11. Android: Очистить активность Stack
- 12. Android Back Stack - метод кнопки UP
- 13. Удалить деятельности из истории Stack в Android
- 14. Android Fragment не добавлен в Back Stack
- 15. Android low memory killer & application back stack
- 16. Управление фрагментами back-stack на android
- 17. FragmentActivity Back Stack on Back Button Pressed
- 18. Android back stack с несколькими действиями
- 19. Очистить Деятельность back stack
- 20. Android back stack after activity backgrounded
- 21. Android back stack в навигационном ящике с использованием действий
- 22. Odd Back Stack Behavior
- 23. Как удалить активность из backstack в Android?
- 24. Удаление активность из истории Stack
- 25. Android Back Button, удаляющий активность навсегда
- 26. Операция back stack button from push intent
- 27. Android: удалить активность из стека
- 28. Android back-stack не создается из уведомления PendingIntent
- 29. Нельзя добавить в Фрагмент Back Stack
- 30. Поддерживать активность Android Stack с уведомлениями