2011-01-26 5 views
1

개인 위치 추적 서비스를 제공하는 Android 앱이 있습니다. 나는 활동 내에서 서비스를 시작하고 활동 내에서 끝낼 수 있기를 원한다. 액티비티가 실행 중일 때 나는 서비스에 바인드하여 aidl을 통해 통신 할 수 있어야한다. 그러나 활동이 끝난 후에도 서비스를 계속해야합니다. 나는 단지 봉사 활동이 그 활동에 의해 알려질 때 끝나기를 원한다.활동이 종료 된 후에 실행되는 Android 서비스를 만드는 방법

지금까지 나는 내 활동과 서비스를 가지고 있으며 보조 파일을 통해 통신 할 수 있습니다. 그러나 현재 활동은 활동이 끝나면 끝납니다.

활동이 끝나면 어떻게 계속 실행하고 활동을 다시 시작할 때 어떻게 다시 바인딩합니까?

+0

다음 startService를 호출? 서비스를 시작하는 활동을 만들었지 만 활동이 끝나면 서비스는 계속 실행됩니다. – exception01

+0

솔루션을 답으로 게시하고 며칠 후 (최소값이 무엇이든) 답을 선택하십시오. –

+0

@Chris 요청대로 완료되었습니다. – CeejeeB

답변

2

나는 그것을 알아 냈다.

나를 위해 내 서비스를 만들고 바인드 한 바인딩 방법이 있는데 bindService 메서드를 사용했지만 서비스가 bindService에 대한 호출을 통해 만들어지면 서비스는 바인딩과 같이 오래 유지됩니다. 내 활동이 파괴되었을 때 내가하고 있던 unbindService으로 전화하면 서비스 자체도 파괴되었습니다.

그러나 createService에 대한 호출로 서비스를 만든 다음 bindService으로 호출하면 이미 실행중인 서비스에 바인딩됩니다. 그런 다음에 바인딩 해제되면 더 이상 자체를 파괴하지 않습니다. 서비스는 stopService에 전화 할 때까지 계속됩니다. 당신이 때 그냥 전화를하면

그런 다음 서비스가 이미 실행되고 있는지 확인할 수있는 활동을 다시 입력하고 bindService 다른 현명한 당신이 어떤 조각을 보여줄 수 bindService

+1

아주 기본적인 튜토리얼이지만 교사가 서비스를 만드는 방법에 완벽하게 설명 http://www.youtube.com/watch?v=yfWsp9IHX1Y – JPM

+0

아름다운 비디오. 나는 단지 봉사보다 더 많은 것을 배웠다. 고맙습니다 – KickAss

관련 문제