Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
拦截Android活动以显示其他活动的最佳位置_Android_Activity Lifecycle - Fatal编程技术网

拦截Android活动以显示其他活动的最佳位置

拦截Android活动以显示其他活动的最佳位置,android,activity-lifecycle,Android,Activity Lifecycle,假设我的主要活动是MainActivity,但有时我想在调用MainActivity后立即显示其他活动,例如: WelcomeActivity在返回到MainActivity之前,您必须单击“下一步”,或者 NoticeActivity您只需按BACK键即可返回到MainActivity 我的问题是: onCreate()是否是放置如果某个东西启动了,那么启动TractivityForresult(…)的最佳位置 如果是,调用startActivityForResult(…)后,是否应立即返

假设我的主要活动是
MainActivity
,但有时我想在调用
MainActivity
后立即显示其他活动,例如:

  • WelcomeActivity
    在返回到
    MainActivity
    之前,您必须单击“下一步”,或者
  • NoticeActivity
    您只需按BACK键即可返回到
    MainActivity
我的问题是:

  • onCreate()
    是否是放置
    如果某个东西启动了,那么启动TractivityForresult(…)
    的最佳位置

  • 如果是,调用
    startActivityForResult(…)
    后,是否应立即返回
    MainActivity.onCreate()
    或让它完成(即所有布局工作都已完成)

  • 如果没有,最好的地方在哪里

  • onCreate()是否是放置某些内容的最佳位置 startActivityForResult(…)

    是的,您可以从onCreate()调用startActivityForResult()

    如果是,在调用startActivityForResult(…)之后,应该 MainActivity.onCreate()立即返回,或让它完成(即全部 布局完成了吗

    不,除非在onCreate()中有明确的call return语句,否则它不会返回,而是让它完成所有init内容

    如果没有,最好的地方在哪里


    更好的方法是,在所有init语句之后,在onCreate()的末尾调用startActivityForResult()。

    通常,MainActivity不是第一个活动,而是第一个可以与之交互的活动,或者可以浏览整个应用程序的活动。你要找的东西可以在启动屏幕上显示,这是你将看到的第一个活动(通常带有你的徽标,是与某个端点进行通信、处理令牌等的活动)。我不确定我是否同意第一个问题的“是”。至少在欢迎屏幕上,这听起来像是你只想在应用启动时运行的逻辑。onCreate of MainActivity将在许多情况下被调用,而不仅仅是在启动时,包括设备旋转时以及(取决于启动模式)从另一个活动返回到主活动时。在这种情况下,有一个单独的启动活动,根据您的情况启动Main、Welcome或其他活动,将更为正确/高效。