我有一个小型 Android 应用程序,以 TabScreen 作为主屏幕。我有一个小问题,我的应用程序当前失去了对用户所在的最后一个 Activity 的关注。
这是场景:
- 用户启动应用程序
- 应用程序显示登录屏幕
- 用户输入登录详细信息并转到选项卡屏幕
- 用户通过主页键离开应用程序
- 用户按下应用程序图标返回应用程序,登录屏幕再次显示
在这种情况下,我希望应用程序返回到最后一个已知显示的 Activity。
我现在所做的是将登录屏幕作为主/启动器 Activity 启动,然后在输入正确的凭据后启动选项卡屏幕 Activity 并完成登录 Activity 。
是否有启动模式或我应该使用的东西来实现此目的?
编辑:更多信息
选项卡屏幕的启动方式如下:
Intent intentTabActivity = new Intent(getApplicationContext(), TabScreenActivity.class);
startActivity(intentTabActivity);
通过主页按钮离开应用程序。
我打算保留登录状态并绕过登录,但在我创建的较小应用程序上,应用程序会自动返回到最后显示的 Activity ,并且不会每次都返回到初始启动器屏幕,我想知道为什么这不是此应用程序中的行为相同。
另外根据我的其他问题HERE调试版本和签名版本的行为似乎有所不同。
这一直在真实设备上进行过测试。
最佳答案
这是正确的行为。本质上,一旦 Activity 进入后台,就会受到 Android DVM 的支配。如果 DVM 认为它需要空间,它实际上会继续并杀死您的应用程序。因此,一旦您尝试从图标启动应用程序,它实际上会从头开始重新启动。
但是,要解决您的问题,您应该在登录屏幕上有一个诸如“自动登录”或“记住密码”之类的复选框,并且当用户每次打开应用程序时选中它时,它应该自动让您登录并进入下一个屏幕。此行为需要由您使用某种持久存储来实现。
关于java - Android - Activity 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6910288/