2012-06-11 4 views
0

많은 토론 스레드를 검색하려고했지만이 문제에 대해 명확하지 않습니다. 새로운 것이므로 절반의 것을 이해할 수 없기 때문에 직접적인 질문을 할 것입니다.이 작업에 서비스 사용

마지막 버튼 (분석 시작 버튼)을 클릭하면 서비스가 시작되기를 원할 때 분석이 완료되면 서비스 내부에서 수행되는 분석이 거의 2-3 분이 걸립니다. 내 주요 활동에있는 결과 활동 페이지를 자동으로 시작하는 서비스.

이 작업을 어떻게 수행 할 수 있습니까? 또한 응용 프로그램이 백그라운드에서 실행되고 일시 중지되었을 때 자동으로 안드로이드에 의해 닫히지 않는다는 것을 알고 싶습니다.

감사

답변

1

안드로이드 서비스의 정의는 UI없는, 백그라운드에서 실행 할 수 있다는 것입니다. 그래서 예, 가능합니다. 그러나 서비스 자체는 백그라운드에서 자동으로 실행되지 않습니다 (주 스레드에서 실행 됨). 대신, 당신이하고자하는 것은 아마도 다음과 같을 것입니다 :

  • 작업을 시작할 의도를 듣는 서비스가 있습니다.
  • 사용자가 버튼을 클릭하면 해당 서비스로 인 텐트를 보냅니다.
  • 서비스가 새로운 백그라운드 스레드를 시작하고 잠시 동안 작업을 수행합니다.
  • 작업이 끝나면 서비스에서 새로운 활동을 시작합니다. 사용자가 앱을 사용하지 않는 경우 (Like this..)

이 매우 나쁜 연습 간주됩니다 걸릴 노트 새 활동을 시작하십시오. 채팅 응용 프로그램을 사용하고 무작위 응용 프로그램이 인계 받기 시작하는 것은 끔찍한 일입니다. 대신, 어딘가에 깃발을 붙여 놓은 다음 다른 활동의 onResume() 처리기에서 작업이 완료되었는지 확인하고 그렇다면 사용자를 다른 활동으로 보냅니다.

관련 문제