【问题标题】:Which Activity start first哪个Activity先启动
【发布时间】:2014-02-28 00:07:13
【问题描述】:

在许多 android 应用程序中,第一个活动可以是登录活动或主页活动(如果用户已经登录)。

所以问题是,哪个活动在启动时开始?如果用户已经登录,那么总是启动登录活动并在 onCreate 测试中是一个好主意吗?例如:

onCreate(Bundle savedInstanceState){

    super.onCreate(savedInstanceState);
    if(isUserAlreadyLoggedIn())
        {
            Intent intent = new Intent(this, MainActivity.class);
            startActivity(intent);
            finish();
        }
    }

【问题讨论】:

  • 你可以在 onResume() 方法中检查这个条件...
  • 好的,但是启动的基本思想总是在启动时登录活动,好吗?
  • 如果用户已经登录,则无需启动登录活动...
  • 是的,但是在 Manifest 中我只能声明一个必须在启动时启动的 Activity
  • ya.. 实际上,您的主要活动将首先开始,而 onresume 您的第二个活动将开始

标签: android android-activity


【解决方案1】:

您在 Manifest 中声明为主 Activity 的 Activity 不一定是创建应用程序时将启动的第一个 Activity。

假设您有两个活动菜单和登录,并且您将登录活动设置为清单中的主要活动。

如果您第一次使用应用程序午餐,您将进入登录活动。但是,如果用户在 Menu 活动中点击主页按钮,并且还终止了您的应用程序进程,则通过访问其他活动,直到您的 Menu 活动没有空间或使用 Task Killer 手动终止进程(请注意,有尊重在使用强制停止从设置中关闭应用程序之间,因为它还清除了活动堆栈和使用任务杀手作为 Android 市场上的高级任务杀手)。在这种情况下,下次用户午餐您的应用程序时,第一个活动将是主菜单。

至于用户体验,最好多次向他展示登录活动,只需记住他第一次成功登录后的详细信息即可。

您的代码对我来说似乎有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多