Понимание проблемы: завершение действий в Android
Чтобы обеспечить плавный процесс выхода пользователя из системы, важно завершить все предыдущие действия, когда нажата кнопка выхода из системы. Это предотвращает вмешательство затянувшихся экранов в процедуру входа в систему. Несмотря на неоднократные попытки использования флагов FLAG_ACTIVITY, проблема сохраняется в Android 1.6, в которой отсутствует поддержка FLAG_ACTIVITY_CLEAR_TASK.
Решение: использование FLAG_ACTIVITY_CLEAR_TOP
Рекомендуемое решение — использовать FLAG_ACTIVITY_CLEAR_TOP флаг. Включив его в Intent, вы можете очистить все действия, расположенные выше указанного целевого действия:
Intent intent = new Intent(getApplicationContext(), Home.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
Этот фрагмент кода инициализирует Intent с помощью целевого действия (Home) и устанавливает флаг FLAG_ACTIVITY_CLEAR_TOP. После запуска этого намерения все действия выше «Домой» будут удалены, что обеспечит чистый переход.
Дополнительные соображения
При желании вы можете добавить дополнительный параметр в намерение. . Эту дополнительную информацию можно получить в домашней активности и использовать для ее завершения, тем самым вызывая запуск экрана входа в систему. В качестве альтернативы вы можете установить действие входа в систему в качестве цели намерения, потенциально очищая действия ниже текущего местоположения экрана. Однако порядок действий в этом сценарии зависит от конкретного поведения Android.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3