Страницы

Поиск по вопросам

четверг, 5 декабря 2019 г.

Завершение работы приложения

#java #android #android_sdk #activity


Скажите, есть ли возможность командой полностью закрыть приложение, чтобы даже при
долгом нажатии кнопки "домой", оно не высвечивалось в списке приложений? Командой finish()
проблема не решается. Если нет, то как сделать так, чтобы при нажатии на приложение
в списке оно перенаправляло на MainActivity, а не на ту, в которой сработала команда
finish()?
    


Ответы

Ответ 1



В стандартной ситуации достаточно вызвать finish() - активити завершится. Описанный ниже случай нужно использовать только в крайних ситуациях. В мире андроида не принято вручную завершать процессы - всё это должна делать система по своему разумению. //эмулируем нажатие на HOME, сворачивая приложение Intent i = new Intent(Intent.ACTION_MAIN); i.addCategory(Intent.CATEGORY_HOME); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); //в зависимости от версии оси намертво убиваем приложение if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { finishAndRemoveTask(); } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { finishAffinity(); } else { finish(); } } //и контрольный в голову Process.killProcess(Process.myPid());

Комментариев нет:

Отправить комментарий