2013-08-15 2 views
0

내 안드로이드 프로젝트에는 MainActivity와 Service가 있습니다. 내 서비스에서 활동의 인스턴스를 가져올 수 있습니까?Android Activity Instance in Service

+0

안녕하세요, 왜 서비스 활동에 대한 참조를 원하십니까? – Geros

답변

3

왜 하시겠습니까? 귀하는 서비스와 활동간에 의사 소통을하려고합니까? 그렇다면 서비스에서 Activity 객체를 가져 오는 것이 아마도 당신이 가고 싶은 방식이 아닐 것입니다.

활동은 MVC 모델에보기/컨트롤러 조합으로 맞습니다. 서비스는 컨트롤러입니다. 이들 사이에 정보를 전달하려면 SharedPreferences, 브로드 캐스트 인 텐트, 콘텐츠 공급자 등이 될 수있는 모델을 업데이트해야합니다. 당신이 이 아니어야합니다. 귀하의 앱에있는 다양한 구성 요소가 모두 모 놀리 식 "전체"의 일부라고 가정합니다. Android 앱은 변수가 아닌 Android 구조를 사용하여 서로 통신해야하는 개별 부분의 느슨한 연결입니다.

0

적절한 접근 방식이 아닙니다. 대신 활동에 메시지를 보내 (있는 경우) 작업을 수행하십시오. LocalBroadcastManager을 사용하거나 Square의 Otto 또는 Messenger과 같은 타사 메시지 버스를 사용하거나 서비스에서 메시지로 메시지를 전달할 수 있습니다.