【问题标题】:Close all activities of my application关闭我的应用程序的所有活动
【发布时间】:2012-05-17 11:38:56
【问题描述】:

我正在使用这些标志开始一项新活动

finish_intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);

当我关闭活动时,它会恢复之前的活动我如何关闭所有活动?

【问题讨论】:

标签: android android-activity


【解决方案1】:

当您从第一个活动移动到下一个活动时,前一个活动会保存在后堆栈中,这会增加开销,因为当您返回上一个活动时,会再次创建相同活动的对象。因此,您可以在移动到第 2 个活动时使用方法 finish() 杀死第一个活动。

例如:

Intent i = new Intent(this,Myapp.class);

startActivity(i);

finish();

【讨论】:

  • 但我想保留其他活动,以防用户按下后退按钮。仅在最后一个活动上,我想关闭所有正在运行的活动!
  • 它的 BackStack,这意味着,当你打开第一个活动时,它会被添加到 backstack,然后当你移动到第二个活动时,它的第二个活动会添加到 backstack,所以使用 finish()在第二个活动中的方法,您正在从堆栈中删除第二个活动,并且您落在第一个活动上。您可以尝试使用 finishActivity() 方法。
【解决方案2】:

当开始一个新活动时,完成前一个活动

Intent i = new Intent(this,CLASSTOLAUNCH.class);

startActivity(i);

finish();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-20
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    相关资源
    最近更新 更多