2017-01-20 1 views
0

안드로이드에서
Activity onDestroy() 방법을 어떻게들을 수 있습니까? 여러 활동을 통해 액세스 및 생성 할 수 있지만 호출자 활동이 언제 삭제되는지를 알아야하는 공유 객체/클래스/서비스가 있습니다.Android : 활동 onDestroy() 듣기

발신자 활동 코드를 수정할 수 없지만 수업을 호출하는 특정 활동에 대한 참조가 있습니다.

그래서 SomeActivity -> 내 개체를 만듭니다.
개체는 해당 활동이 닫힐 때를 알아야합니다.

+0

응용 프로그램 클래스 설명서를 확인하십시오 ... 나는 적절한 방법이 포함되어 있다고 확신합니다. – Selvin

+0

그렇지 않습니다. 당신은 당신의 활동의 onDestroy로부터 그 객체를 호출 할 수 있습니다, 그러나 그것은 전부입니다. 나는 당신이 왜 이것을 필요로하는지 질문합니다. 당신이 무언가 잘못 스코어를 가진 것처럼 들립니다. 왜 그걸 만든 컨텍스트에 대해서 알아야합니까? –

+0

것은 (여러 유형의) 여러 활동이이 오브젝트/서비스를 작성/호출 할 수 있다는 것입니다. 나는 활동 내용과 그 밖의 것을 알지 못합니다. 내 프로젝트에서 이러한 모든 활동을 수정할 수는 없지만 개체가 작업이 종료되어 정리 작업을 수행 할 수있는시기를 알아야합니다. 그래서 나는 활동에 대한 참조를 가지고 있기 때문에 Activity.onDestroy() 메서드에 대한 청취자와 연결 고리를 만들 수 있는지 궁금합니다. – emcv

답변

0

당신이 당신의 활동을 사용하여 만든 객체에서 무언가를하려고한다고 가정하지만, 어떻게 든 당신의 활동이 닫혀 있다면. 그런 다음 getActivity()에 액세스하려고하면 객체가 중단됩니다.

활동 클래스 이름 someActivity와 오브젝트가 조각이라고 가정하십시오. 조각을 사용하면 getActivity를 사용할 수 있습니다. 작성한 오브젝트가 프래그먼트가 아닌 경우 액세스 할 수있는 방법을 찾아야합니다.

someActivity activity = (someActivity) getActivity(); 
     if (activity != null && !activity.isFinishing()) { 
       //do your action here to prevent the app crashes. 
     } 
+0

도움을 주셔서 감사합니다. 그러나 이것은 내가 찾고있는 것이 아닙니다. 보다 간결한 예는 내 개체/서비스에 가입/구독하는 활동입니다. 나는이 활동 코드에 대해 아무런 통제권이 없다. 서비스/개체는 활동을 언제 해지 할 수 있는지 알 필요가 있습니다. 따라서 onDestroy()를 구독하는 모든 활동에 대해 어떤 종류의 리스너가 필요합니다. – emcv

관련 문제