我有以下问题,我想设计实现以确保我不会遇到任何问题。
在应用程序启动时,我需要执行一个(并且只有一个)服务器请求以使手机保持最新状态。然后我进入主要活动。
我最大的问题是带有Android的Back按钮,它可能会将我的堆栈带回第一个活动,即进行服务器同步的活动。
我想到了以下实现:
onCreate()
的{{1}}中,我启动了同步过程......带有一些背景徽标,进度条等等...... Activity
上致电finish()
。然后我会返回Activity
,还是直接返回主onCreate()
的{{1}}?
这种实施是否有意义?
答案 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()
。这完全可以接受。