【问题标题】:Should I use FLAG_ACTIVITY_CLEAR_TOP in this case? how to use FLAG_ACTIVITY_CLEAR_TOP intent flag?在这种情况下我应该使用 FLAG_ACTIVITY_CLEAR_TOP 吗?如何使用 FLAG_ACTIVITY_CLEAR_TOP 意图标志?
【发布时间】:2019-06-04 05:51:44
【问题描述】:

在我的应用程序中,我有以下 Activity 流: LoginActivity > DashboardActivity >(如果用户选择更改密码) > ChangePasswordActivity

如果用户成功更改了密码,我想将他们发送回第一个活动,即LoginActivity。我想在此过程中popDashboardActivity 以防止任何不需要的挥之不去的活动。

在这种情况下使用FLAG_ACTIVITY_CLEAR_TOP 开始一个新的LoginActivity 是否正确?我想知道在这种情况下哪些标志是合适的。

不管怎样,我的DashboardActivity 在我的AndroidManifest 中有一个launchMode 设置为singleTop

【问题讨论】:

标签: android kotlin android-intent android-activity


【解决方案1】:

如果您只想从堆栈中清除以前的活动并 启动登录活动就这样做

manifest 文件中,您的登录活动应该是这样的

<activity
    android:name=".LoginActivity"
    android:screenOrientation="portrait"/>

更改密码后使用以下标签启动登录activity

Intent intent = new Intent(ChangePassword.this, LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();

通过将标志设置为Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK 之前的所有活动都将从堆栈中清除。

有关更多信息,请查看此 https://developer.android.com/reference/android/content/Intent 来自官方文档-FLAG_ACTIVITY_CLEAR_TOP

如果设置,并且正在启动的活动已经在 当前任务,而不是启动该任务的新实例 活动,除此之外的所有其他活动都将关闭,并且 此 Intent 将作为 新意图。

例如,考虑一个由以下活动组成的任务:A、B、C、D。 如果 D 调用 startActivity() 的 Intent 解析为 活动 B 的组成部分,然后 C 和 D 将完成,B 收到 给定的 Intent,导致堆栈现在是:A,B。

【讨论】:

    【解决方案2】:

    LoginActivity > DashboardActivity >(如果用户选择更改密码)> ChangePasswordActivity

    • 为了清楚你应该使用 LoginActivty 的任务和意图

      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

    在这种情况下使用 FLAG_ACTIVITY_CLEAR_TOP 启动新的 LoginActivity 是否正确?我想知道在这个中哪些标志是合适的

    • FLAG_ACTIVITY_CLEAR_TOP 将清除堆栈中的所有内容并使 新活动作为根任务。在你的情况下,没有以前的 LoginActivity 的活动它也可以工作,但不建议这样做。

    不管怎样,我的 DashboardActivity 在我的 AndroidManifest 中有一个 launchMode 设置为 singleTop。

    【讨论】:

      猜你喜欢
      • 2011-01-17
      • 2022-07-22
      • 2016-06-30
      • 2013-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-15
      相关资源
      最近更新 更多