다른 활동이나 서비스의 의도를 수신하는 SingleTask 모드 (Android 2.2)로 실행중인 활동이 있습니다. 내 활동은 수신 된 각 의도를 대기열에 넣고 그와 함께 처리합니다. 완료시 처리 할 의도가 남아 있지 않으면 (즉, 대기열이 비어 있음) finish()를 호출합니다.finish()를 인터럽트 할 수 있습니까?
문제는 finish()가 호출 된 직후 인 텐트를받는 경우입니다. onNewIntent 및 onResume 메서드가 호출되었지만 내 활동이 Android에 의해 파괴 (onPause/onDestroy)되어 인 텐트가 처리되지 않습니다.
나는 이것이 아주 나쁜 시나리오라는 것을 알고 있지만, 이런 종류의 행동에 관심이 있습니다 ... 그래서 질문입니다 : finish()를 중단하거나 finish() 후에 activity를 다시 시작하는 것이 가능합니까? 님께 전화하셨습니까?
감사합니다.
> finish() 문과 onDrestroy 메서드간에 의도를 수신 할 수 없습니다. 올바르지 않습니다. : finish()는에 대한 호출을 트리거합니다. ActivityManagerNative.getDefault(). finishActivity(), onPause와 onDestroy를 비동기 적으로 호출하고 적어도 두 가지 메소드간에 인 텐트를 수신 할 수 있습니다. 적어도 Android 2.2에서는 내 상황입니다. 필자가 작성한 것처럼 finish()를 호출 한 후 onNewIntent()가 실행되고 onResume()이 이어지는 것을 확인합니다. 그런 다음 onPause() 및 onDestroy()가 ActivityManagerNative에 의해 호출됩니다. – rippeltippel