java - android中的幽灵 Activity

标签 java android android-intent android-activity

我的应用程序工作如下:

开始时,我有一些 AppStartActivity,它会执行一些操作,自行完成并在用户登录时启动 MainActivity,否则启动 LoginActivity

LoginActivity 完成自身并在用户成功登录时启动 MainActivity

MainActivity 上,我有 SomeActivity,用户可以从中注销。这种情况下的 Activity 堆栈是 MainActivity > SomeActivity。这是正确的,后退按钮效果很好。当用户单击 LogOut 按钮时出现问题。我需要显示 LoginActivity,但我不想在 Activity 堆栈上再有 MainActivitySomeActivity

如果我不完成 AppStartActivity,我可以解决这个问题。我可以使用标志 FLAG_ACTIVITY_CLEAR_TOP 返回,它会很好地工作。但这是后退按钮的问题。我不希望用户使用后退按钮返回此 Activity 。我希望它退出应用程序。

更新:

标记 FLAG_ACTIVITY_NEW_TASKFLAG_ACTIVITY_CLEAR_TASK 最好,但我需要它在 API 级别 9 中工作。

最佳答案

当用户想要注销时,你只需启动MainActivityIntent.FLAG_ACTIVITY_CLEAR_TOP并在 Intent 中额外传递它这告诉MainActivity用户注销。 MainActivity然后可以立即启动 LoginActivity并自行完成。

请参阅我对 Remove top activity from stack android 的回答有关如何执行此操作的更多详细信息。

关于java - android中的幽灵 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19861406/

相关文章:

android - Firebase Analytic Search_Term 参数值未显示

java - 在 Android 中隐藏 keystore 密码的最佳方法是什么?

android - onCreate() 中的 extra 为空值

java - 如何计算任何应用程序在我的 android 手机中打开的次数?

android - 如何在Android中动态播放音频文件

android "SELF_NOTE" Intent 与 Cordova 应用程序

java - Android/Java -- 如何创建HTTPS连接?

java - Thread Interruptded Exception,释放信号量资源

java - 基于基本JAVA控制台的菜单问题

java - 如何解决 "Exception in thread "AWT-EventQueue-0"java.lang.NullPointerException"?