두 가지 안드로이드 활동이 있습니다 (A1 및 A2라고 부름). 첫 번째 목적은 여러 선형 레이아웃 항목을 표시하는 것입니다. 또한 새 항목을 추가하는 버튼이 있습니다. 다음과 같은 의도를 사용하여 추가 버튼을 클릭하면 :안드로이드 활동이 일시 중지되지 않았습니다.
//...
Intent intent = new Intent(this, CreateActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
//...
응용 프로그램이 첫 번째 일시 중지 A2 로 전환해야한다. A2에서 유형에 액세스 할 때 다음과 같이 A1로 다시 전환합니다.
//...
Intent intent = new Intent(super.getContext(), HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
intent.putExtra("type", this._type);
super.getContext().startActivity(intent);
//...
인 텐트, 작동하는 레이아웃에 새 항목을 추가하십시오. 이제 A2에서 A1으로 전환 할 때마다 호출되는 onCreate, onResume, onPause
메서드가 있습니다. 정상적인 안드로이드 동작인가요?
는 지금까지 내가 활동의 라이프 사이클을 이해로 플래그 NEW_TASK
및 CLEAR_TASK
는
. 그들은에서 호출하고있는 활동을 일시 중지 새로운 프로세스를 열고 나는 안드로이드에서 활동 전환에 대해 여러 가지 문서화를 읽을 수는 있지만 didn를했습니다 명시 적으로 활동을 일시 중지하고 onCreate 등을 다시 호출하지 말라고하는 방법에 대한 요점을 실제로 알지 못합니다.
Intent.FLAG_ACTIVITY_NEW_TASK 및 Intent.FLAG_ACTIVITY_CLEAR_TASK을 (를) 사용하는 이유는 무엇입니까? –
이 작업의 목적은 A1을 일시 중지하는 새 작업을 생성하기 위해 Android에 명시 적으로 알리는 것입니다. 두 번째 작업은 작업을 종료하고 onResume을 트리거하는 A1로 돌아갑니다. – hGen
u는 의도 플래그가있는 행을 제거하고 A2 작업에서 this.finish()를 호출하면 작업이 완료 될 때 –