Android启动过程和主要活动 - 设计模式

时间:2012-10-22 10:14:16

标签: android android-activity android-lifecycle

我有以下问题,我想设计实现以确保我不会遇到任何问题。

在应用程序启动时,我需要执行一个(并且只有一个)服务器请求以使手机保持最新状态。然后我进入主要活动。

我最大的问题是带有Android的Back按钮,它可能会将我的堆栈带回第一个活动,即进行服务器同步的活动。

我想到了以下实现:

  1. 我立即启动了主要活动
  2. 在主onCreate()的{​​{1}}中,我启动了同步过程......带有一些背景徽标,进度条等等......
  3. 完成同步后,我在Activity上致电finish()
  4. 然后我会返回Activity,还是直接返回主onCreate()的{​​{1}}? 这种实施是否有意义?

2 个答案:

答案 0 :(得分:0)

<强>已更新

要防止再次查看您的第一个Activity,您只需要向您添加以下行Activity声明

<activity 
        android:name=".FirstActivity"
        android:noHistory="true" /> 

使用noHistory代码会删除您的Activity而无需以编程方式自行执行

答案 1 :(得分:0)

您可以继续执行相同操作,但对于执行同步操作的第一个活动,请将其设置为noHistory任务。 http://developer.android.com/guide/topics/manifest/activity-element.html#nohist

或者在您的第一个活动中,在您致电startActivity(MainActivity)之后,您可以调用finish()并执行操作,从Backstack中删除FirstActivity,然后MainActivity将保留在堆栈顶部。

希望有所帮助。

更新

我的意思是说,让FirstActivity成为您的第一项活动,然后从MainActivity开始FirstActivity。在startActivity()中致电FirstActivity后,请在下一个声明中致电finish()。这完全可以接受。