#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());
Комментариев нет:
Отправить комментарий