我是Android新手。完成後調用();目前的活動,它會保持在BackStack或沒有?
我有2個活動。 A和B. A是我的發射器活動。 現在,在A活動中,我打電話給B活動並完成A活動。
這樣的事情,
Intent ib=new Intent(this,B.class);
startActivity(ib);
this.finish();
所以,當B活動將被激活,A會留在堆棧中或不?我正在使用默認啓動模式。
預先感謝您。
編輯:::
好的,謝謝。
現在我有一個問題,
我打電話順序3個活動A-> B->℃。
當我打電話給另一個活動時,我正在完成當前活動。 通過使用,
this.finish();
我也在C Activity中放置了日誌堆棧。 這裏是我的堆棧中打印代碼::
ActivityManager m = (ActivityManager) getApplicationContext().getSystemService(ACTIVITY_SERVICE);
List<ActivityManager.RunningTaskInfo> runningTaskInfoList = m.getRunningTasks(10);
Iterator<ActivityManager.RunningTaskInfo> itr = runningTaskInfoList.iterator();
while (itr.hasNext()) {
ActivityManager.RunningTaskInfo runningTaskInfo = (ActivityManager.RunningTaskInfo) itr.next();
int id = runningTaskInfo.id;
CharSequence desc = runningTaskInfo.description;
int numOfActivities = runningTaskInfo.numActivities;
String topActivity = runningTaskInfo.topActivity
.getShortClassName();
Log.d("runningTaskInfoSize",runningTaskInfoList.size()+"");
Log.d("Stack :: ","C Start --------------------->");
Log.d("Stack ID ::",id+"");
Log.d("Stack NumOfActivity ::",numOfActivities+"");
Log.d("Stack Top Activity ::",topActivity+"");
}
現在,在日誌中,當C是我收到此可見:
D/Stack ::: C Start --------------------->
D/Stack ID ::: 29
D/Stack Desc ::: null
D/Stack NumOfActivity ::: 2
D/Stack Top Activity ::: .C
D/Stack ::: C Start --------------------->
D/Stack ID ::: 1
D/Stack Desc ::: null
D/Stack NumOfActivity ::: 1
D/Stack Top Activity ::: com.android.launcher2.Launcher
如果活動不會留在堆棧中結束後,那爲什麼我我得到'NumOfActivity ::: 2' ??或者我的代碼或理解有問題嗎?
https://developer.android.com/guide/components/activities/tasks-and-back-stack.html –
什麼是你確切的問題? –
我想知道,如果完成後(); ,活動不會留在回棧中,那麼爲什麼它顯示沒有活動= 2?,正如我上面提到的那樣。 – zephyr