如何在离开时杀死Android活动,以便无法通过后退按钮访问它?

Joh*_*ock 122 android

在给定的Android活动中,我想在某个时刻为用户启动一个新活动.一旦他们离开第一个活动并到达第二个活动,第一个活动是陈旧的,我想完全删除它,因此无法再从后退按钮访问它.

如何实现这一目标的最佳方法是什么?如何在用户启动新活动后立即杀死或销毁此活动?

Cas*_*eyB 222

你只需要打电话 finish()

Intent intent = new Intent(this, NextActivity.class);
startActivity(intent);
finish();
Run Code Online (Sandbox Code Playgroud)

  • 这是一个7年的答案,但仍然适用于Android M和N. (3认同)

jqp*_*liq 100

设置android:noHistory="true"清单中的活动将在导航离开时从堆栈中删除活动.看到这里


Jmo*_*van 9

您可以使用:

intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
Run Code Online (Sandbox Code Playgroud)


Rob*_*hai 7

是的,您需要做的就是在您要关闭的任何活动中调用finish().


Dan*_*Xie 6

您也可以在中添加android:noHistory="true"Activity标签AndroidManifest.xml

<activity
            ...
            android:noHistory="true">
</activity>
Run Code Online (Sandbox Code Playgroud)