android - 何时使用 addFlags 或 setFlags 来移除堆栈中的 Activity ?

标签 android android-activity

我有 OnBoard Activity 和登录 Activity 。在成功登录后的 LoginActivity 中,我尝试使用以下代码清除板载 Activity :

startActivity(new Intent(context, HomeActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_CLEAR_TASK));

我什至尝试过 Intent.FLAG_ACTIVITY_NO_HISTORY 但它也不起作用。那我该怎么办呢?

最佳答案

我假设应用程序以 OnboardActivity 开始,然后以 LoginActivity 开始,然后您想清除它们并启动 HomeActivity

如果是这样的话,我会这样做:

  • OnboardActivity 使用 startActivityForResult() 启动 LoginActivity
  • LoginActivity 返回指示登录是否成功的结果并调用 finish()LoginActivity 不再在任务中。
  • OnboardActivity 检查 OnActivityResult() 中的结果,如果登录成功,则启动 HomeActivity(不需要标志)并调用 finish() 本身。
  • 此时LoginActivityOnboardActivity都没有了,HomeActivity是唯一的Activity任务。

关于android - 何时使用 addFlags 或 setFlags 来移除堆栈中的 Activity ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55468238/

相关文章:

android - 主 Activity 名称必须是 .MainActivity 吗?

android - Intent 并从字符串开始 Activity

android - SOAP 和 RESTFUL 之间的主要区别以及哪个适合 Native 移动应用程序?

android - Mockito/电源 Mockito : unable to get expected output when mocking method of LayoutParams in android

java - 从图库中获取所有图像并将其存储在数组中

android - 如何将值从一个 Activity 传递到上一个 Activity

java - 限制安卓文件大小

android - 应用程序终止时 Firebase 推送通知回调不起作用

java - Zxing: Activity 获取结果

java - fragment 上的传感器管理器(如果可见则添加;如果不可见则删除)