java - Android - Activity 行为?

标签 java android android-activity

我有一个小型 Android 应用程序,以 TabScreen 作为主屏幕。我有一个小问题,我的应用程序当前失去了对用户所在的最后一个 Activity 的关注。

这是场景:

  1. 用户启动应用程序
  2. 应用程序显示登录屏幕
  3. 用户输入登录详细信息并转到选项卡屏幕
  4. 用户通过主页键离开应用程序
  5. 用户按下应用程序图标返回应用程序,登录屏幕再次显示

在这种情况下,我希望应用程序返回到最后一个已知显示的 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/

相关文章:

android - 如何在android中向右禁用net.simonvt.menudrawer

java - 将参数传递给不同公共(public)类中的构造函数的问题

java - 文件上传zuul代理请求大小问题

java - junit 测试套件

java - 我在 Android 版本 4 手机上遇到的崩溃问题

android - 请安装包 : 'Android Support Library'

java - 如何向不是初始 fragment 的 fragment 启动新的 Activity ?

Java Stream<Object> 过滤然后使用结果

java.lang.NumberFormatException : Expected an int but was 0. 6 在第 1 行第 8454 列

android - onPause() 是否保证被调用,即使在强制关闭应用程序进程时也是如此?