2012-04-28 4 views
0

그래서 위치 업데이트를 얻는 백그라운드 서비스가 있고 내 tabActivity에서 서비스에 액세스하려고합니다. (이 방법은 정적 임)MainActivity를 통해 백그라운드 서비스에 액세스

어떻게 달성 할 수 있습니까? xxxService.yyyMethod()가 작동하지 않으면 시도해보십시오.

나는 활동에 의해 시작된 배경 서비스에 대해 이야기하고있다. 그런 다음 활동은 사용자에 의해 닫혔다가 다시 시작되었다. 서비스는 동일한 활동에 바인딩되었고 start()도 포함되었습니다 (따라서 활동이 닫힌 후에도 계속 존재합니다). 작동하지 않으면 메소드가 아무 것도 리턴하지 않는다는 것을 의미합니다. 또한, 메소드 호출 이후의 모든 명령문은 실행되지 않습니다. - Ishwar 27 초 전에 활동에

편집 : 경계를 : *

mConnection = new ServiceConnection() {  
      public void onServiceConnected(ComponentName className, IBinder service) { 
       temp="LocationService bound"; 

       locationService = ((LocationService.LocalBinder) service).getService(); 
       locationService.setProfile(Profile); 
       locationService.start(); 
       Log.e("COnnected",""); 
       mBound = true;    
      } 
      public void onServiceDisconnected(ComponentName arg0) { 
       mBound = false; 
      } 
     }; 

*

오류 면적 : *

LocationService.setProfile(homeProfile); (works fine)  
LocationService.getL(); (Any statement beyond this point doesnt get executed) 
Log.e("Executed","LS");      settingsActivity.status.append(Boolean.toString(LocationService.isRunning())); 

*

하는 경우 나는 제 2 li를 주석 처리한다. ne, 3rd, 4th 라인이 실행됩니다. 그렇지 않으면 실행되지 않습니다! P.S : 내 활동을 그만 두지 않으면 모든 것이 작동합니다. 내 활동을 종료하고 다시 시작할 경우에만 문제가 발생합니다.

+0

"작동하지 않습니다 ...?".. 더 자세히 설명해주십시오. 무슨 일이 일어나고 있습니까? – 5hssba

+0

나는 그 활동에 의해 시작된 배경 서비스에 대해 이야기하고있다, 그리고 그 활동은 사용자에 의해 닫히고 다시 시작되었다. 서비스는 동일한 활동에 바인딩되었고 start()도 포함되었습니다 (따라서 활동이 닫힌 후에도 계속 존재합니다). 작동하지 않는 것은 메서드가 아무 것도 반환하지 않는다는 의미입니다. 또한, 메소드 호출 이후의 모든 명령문은 실행되지 않습니다. – Ishwar

+0

더 많은 정보로 질문을 업데이트했습니다. – Ishwar

답변

0

TabActivity에서만 활동을 호출 할 수 있습니다. 탭에 대한 특정 활동을 설정 한 다음 해당 활동에서 Service의 메소드에 액세스해야합니다. 그래서 기본적으로 당신의 xxxService.yyyMethod() 전화가 활동에 있어야합니다.

+0

그게 내가하고있는 일입니다! 내가 컴파일 오류 또는 아무것도지고 아니지만, 내 애플 리케이션은 그냥 yyyMethod가 예정 값을 반환하지 않습니다! 사실, 그냥 실행을 멈춘다. – Ishwar

+0

나는 백그라운드 서비스가 활동에 의해 시작되었다고 이야기하고있다. 그런 다음 활동은 사용자에 의해 닫혔다. 다시 시작되었다. 서비스는 바인딩되었고 start()도 포함되었습니다 (따라서 활동이 닫힌 후에도 계속 존재합니다). – Ishwar

+0

일부 코드 또는 스택 추적을 제공 할 수 있습니까? –

관련 문제