저는 Android가 처음이에요.finish()를 호출 한 후; 현재 활동 중 BackStack에 남아있을 것인가?
나는 2 활동이있다. A와 B. A는 내 런처 활동입니다. A 액티비티에서 B 액티비티를 호출하고 A 액티비티도 마무리합니다. 이 같은
뭔가, B 활동이 활성화 될 것입니다 그래서
Intent ib=new Intent(this,B.class);
startActivity(ib);
this.finish();
는, A가 가기 backstack에 남아 여부 것인가? 기본 실행 모드를 사용 중입니다.
미리 감사드립니다.
편집 :::
고맙습니다.
는 지금은 하나 개의 질문, 내가> B-> C A- 순서로 3 개 활동을 호출하고
있습니다.
다른 활동을 호출 할 때 현재 활동을 마칩니다. 를 사용하여 을 사용하여
this.finish();
또한 C 액티비티에 백 스택에 대한 로그를 저장하려고합니다. 여기 로그에 지금 내 가기 backstack 인쇄 코드 :
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가 보일 때 : 활동이 왜 그런 다음, 마감 후에 가기 backstack에 남아 있지 않습니다
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 –
정확한 문제가 무엇입니까? –
나는 알고 싶다. finish() 후에; , 액티비티는 백 스택에 남아 있지 않습니다. 그렇다면 왜 액티비티 = 2?를 표시하지 않는 이유는 무엇입니까? – zephyr