Ответ 1
Вам просто нужно позвонить finish()
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
В заданной активности Android я хотел бы в какой-то момент начать новую деятельность для пользователя. Как только они покидают первое действие и приходят ко второму, первое действие является устаревшим, и я хочу полностью удалить его, чтобы он не мог получить доступ снова с помощью кнопки "Назад".
Как лучше всего это сделать? Как убить или уничтожить это действие сразу после запуска пользователем нового действия?
Вам просто нужно позвонить finish()
Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
Настройка android:noHistory="true"
активности вашего манифеста удалит действие из стека, когда он будет удален. см. здесь
вы можете использовать:
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Да, все, что вам нужно сделать, это завершение вызова() в любой операции, которую вы хотели бы закрыть.
Запишите это в каждом "новом действии" после того, как вы инициализировали новое намерение →
Intent i = new Intent(this, yourClass.class);
startActivity(i);
finish();
Вы также можете добавить android:noHistory="true"
в тэг Activity
в AndroidManifest.xml
.
<activity
...
android:noHistory="true">
</activity>
Добавьте этот атрибут в вашу активность в файле манифеста. андроид: noHistory = "истина"
Наконец-то я получил решение!
Мой контекст таков: - Я хочу отключить сокетное соединение, когда активность уничтожена, я пытался завершить() активность, но она мне не сработала, она где-то поддерживает соединение.
поэтому я использую android.os.Process.killProcess(android.os.Process.myPid());
это убило мою активность, и я использовал android:excludeFromRecents="true"
для удаления из недавней активности.
Используйте приведенный ниже код, чтобы действие было удалено, когда оно исчезло и к нему будет обращена обратная кнопка
@Override
public void onPause() {
super.onPause();
// Remove the activity when its off the screen
finish();
}