android - 完成之前的 Activity ,机器人?

标签 android android-activity

我有这个申请流程:

Activity 1-> Activity 2-> Activity 3->首页 Activity

现在,当用户从 Activity3 切换到 Home Activity 时,我想结束所有之前的 Activity 。因此用户无法转到之前的 Activity 。

我不想使用 finish() 作为所有 3 个 Activity 的表单填写。

我试过了

  Intent.FLAG_ACTIVITY_CLEAR_TOP

但是好像不行

最佳答案

正确的方法是使用 Intent 标志 FLAG_ACTIVITY_NEW_TASK 和 FLAG_ACTIVITY_CLEAR_TASK。

Intent homeIntent=new Intent(this,HomeActivity.class);

       homeIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       homeIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);

startActivity(homeIntent);

CLEAR_TASK 将清除任务中所有以前的 Activity (如果有的话)并使新 Activity (HomeActivity)成为任务的根 Activity 。此标志应与 FLAG_ACTIVITY_NEW_TASK 结合使用。

Intent.FLAG_ACTIVITY_CLEAR_TOP 应在以下情况下使用,如果您在 ActivityHome(正常启动,没有任何标志)并且想要返回 activity_1 并且还想关闭 activity_2 和 activity_3 以从任务中清除。

关于android - 完成之前的 Activity ,机器人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22476505/

相关文章:

java - 如何通过包名启动多个intent

android - 在android中设置单选AlertDialog默认项

android - 从 Android 4.3 中提取 SQLite 数据库

android - 如何在 Firestore 中一次创建/更新多个文档

android - 更新 Android Studio 4.1.2 到 2020.3.1 失败

android - 按下 startActivityForResult 和 Home 键后调用 Activity 的状态

java - codenameone 中的本地接口(interface),

android - Activity 没有启动,也没有显示错误

java - Android:可以从我自己的应用程序启动其他应用程序的任何 Activity 吗?

android - android 以触摸方式打开 Activity