2014-01-20 1 views
0

서비스 및 대화 상자에서 놀고 있었고 의심 스럽습니다. 대화 상자 내에서 , 나는이 같은 서비스를 시작하고 있습니다 :서비스가 지역 변수에 의해 참조되었지만 함수 호출간에 값을 보유 함

Intent lock = new Intent(getActivity(),AppLockService.class); 
      getActivity().stopService(lock); 
       getActivity().startService(lock); 

지금 처음 나는 OK 버튼을 누르면시

dialog_name.show(getFragmentManager(), "dropbox"); 

을 통해 대화를 호출 의도가 시작됩니다. 이제 나중에 과 동일한 앱이 실행되는 동안 대화 상자가 다시 트리거됩니다 (내 코드 로직 - 은 여기이 아닙니다). 대화 상자의 코드 은 이전에 트리거 된 인 텐트을 중지하고 은 새로운 인 텐트를으로 시작합니다. 내 정의에 따라 같은 지역 의도 변수입니다

잠금 :

내 질문은 이것이다. 그러면 멈추어야한다는 것을 어떻게 알 수 있습니까? 내가 처음 여기에서 방아쇠를 당긴 서비스는 무엇입니까? 누군가 나에게 설명해 주시겠습니까?

답변

1

Android에서 서비스를 제공하므로 서비스를 변수로 추적 할 필요가 없습니다.

OS가 서비스를 처리하는 방법은 언제든지 둘 이상의 서비스 인스턴스가 실행되는 것을 허용하지 않는다는 것입니다.

언제든지 서비스가 0 개 또는 1 개 있습니다. 0, 아무런 문제가 없으면 OS는 StopService에 대한 호출을 무시합니다. 인스턴스가 1 개있는 경우 이전에 시작한 인스턴스 여야하므로 인스턴스가 중지됩니다.

+0

설명해 주셔서 감사합니다. :) – SoulRayder

관련 문제