【发布时间】:2012-07-03 17:23:38
【问题描述】:
目前我正在创建一个新的Activity 并在当前的上调用finish。
是否有任何标志可以传递给Intent,从而能够完成当前Activity,而无需从代码中手动调用finish?
【问题讨论】:
标签: android android-activity flags start-activity
目前我正在创建一个新的Activity 并在当前的上调用finish。
是否有任何标志可以传递给Intent,从而能够完成当前Activity,而无需从代码中手动调用finish?
【问题讨论】:
标签: android android-activity flags start-activity
你可以使用finish()方法或者你可以使用:
android:noHistory="true"
然后就不用再打电话给finish()了。
<activity android:name=".ClassName" android:noHistory="true" ... />
【讨论】:
像这样使用finish:
Intent i = new Intent(Main_Menu.this, NextActivity.class);
finish(); //Kill the activity from which you will go to next activity
startActivity(i);
FLAG_ACTIVITY_NO_HISTORY 可以用于您想要完成的活动。例如,您从 A-->B--C 出发。当你从 B-->C 出发时,你想完成活动 B,所以当你从 A-->B 出发时,你可以使用这个标志。当您进行其他活动时,该活动将自动完成。
要了解有关使用 Intent.FLAG_ACTIVITY_NO_HISTORY 的更多信息,请阅读:http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY
【讨论】:
finish() 假设杀死当前活动?您希望它如何到达下一行 startActivity(i) ?对我来说看起来很危险且出乎意料
FLAG_ACTIVITY_NO_HISTORY 开始您希望在用户转到另一个活动后完成的活动。
http://developer.android.com/reference/android/content/Intent.html#FLAG%5FACTIVITY%5FNO%5FHISTORY
【讨论】: