У меня есть основное действие и второе действие. Я не использую переопределение finish()
при вызове второго действия. У меня есть кнопка во втором действии onClick
, из которого мне нужно убить приложение. Есть ли способ очистить весь задний стек нажатием кнопки?Убейте приложение на задней кнопке от второго действия
ответ
Вы можете добавить флаг намерение при запуске второй активности ..
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
Вы не можете убить все приложения на Android дизайна. И единственный способ очистить всю заднюю часть - начать новую операцию с обязательными флагами.
Если вы хотите сделать это ТОЛЬКО при нажатии кнопки, а НЕ во время запуска второй активности, я думаю, что это только одно решение.
Вы должны на этой кнопке Нажмите назвать третью активность (пустая, только заглушка), с необходимыми флагами:
Intent intent = new Intent(this, MockActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); //clear backstack
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); //user will not notice activity appear, instead of default animation, which look like starting other app.
startActivity(intent);
И в этом ThirdActivity, в OnCreate()
методы, просто вызовите finish();
Что вы будете получить результат? После нажатия кнопки «Пользователь» все приложение будет закрыто, без истории backstack. Вы также должны добавить к этому ThirdActivity в Manifest android:noHistory="true"
, чтобы он также не появлялся в истории.
Дополнительная финиш() не нужна, поскольку это подразумевается флагами. По моему опыту, вы действительно вводите потенциальную проблему пользовательского интерфейса, явно выходя из текущей деятельности до того, как она началась. Думайте о слоях - вы хотите гарантировать, что новый вид появится перед тем, как старый уйдет. Имея этот последний финиш(), вы теряете эту гарантию. На старых устройствах вы можете ожидать, чтобы вспышка backstack перед появлением нового представления. Пример. Рабочий экран может мигать в течение 1 секунды, прежде чем появится новое представление. – Cookster
Спасибо, ты прав, я не был уверен в добавлении его. Я удалил его из кода. – VadymVL
Вы можете попробовать кнопку бросить курить,
addQuitButtonListener();
private void addQuitButtonListener(){
Button appbtn = (Button) findViewById(R.id.quit);
appbtn.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
System.exit(0);
}});}
Вы также могли бы начать вторую деятельность с startActivityForResult проверки Wetherby первым также должна быть закончена, когда вы закончите 2-й один
- 1. Закройте приложение на задней кнопке телефона android
- 2. Увольнение на задней кнопке
- 3. сбросить форму на задней кнопке
- 4. Выход из приложения Android На задней кнопке
- 5. Задержка на задней кнопке нажата андроид
- 6. Остановка GPS на задней кнопке нажмите
- 7. Остановить форму от повторного запуска на задней кнопке
- 8. Неверная страница защиты от показа на задней кнопке
- 9. Android Asynctask от второго действия
- 10. Segue сохраняет данные на кнопке задней панели
- 11. Сила Android WebApp закрывается на задней кнопке
- 12. На задней кнопке нажата перезагрузка фрагмента
- 13. expire page на задней кнопке symfony2
- 14. Пользовательский UIStoryboardSegue на задней кнопке нажмите?
- 15. popupwindow: окно получить утечку на задней кнопке
- 16. Подготовка Segue на задней кнопке навигационного контроллера
- 17. На задней кнопке kill android app
- 18. Пользовательский AlertDialog исчезает на задней кнопке, нажмите
- 19. Android - ViewPager возобновление на задней кнопке
- 20. Как убить активность на задней кнопке нажмите
- 21. Обновить страницу на задней кнопке браузера
- 22. UINavigationController не появляется на задней кнопке
- 23. Как закончить CountdownTimer на задней кнопке
- 24. show Interstitial Ad на задней кнопке нажата?
- 25. NSUserDefault синхронизируется на задней кнопке swift
- 26. Убейте все действия, когда приложение находится в фоновом режиме
- 27. Передача строки от счетчика до второго действия
- 28. Повторное рендеринг Actionbar на задней кнопке нажмите на Android
- 29. Android: обновить загрузчик курсора от второго действия
- 30. Выполняя vbscript, убейте событие vbscript на кнопке keyboad
Вы хотите убить заявление или деятельность? – Cookster