2011-11-26 2 views
1

최신 앱에 대한 조언이 필요합니다. 그것은 사용자에게 최신 자막이 공개되었음을 보여 주며, 자신이 좋아하는 시리즈의 새 자막이 출시 된 경우 알림을 제공합니다. 이것을 달성하기 위해 무엇을 사용해야합니까? 내가 만들고서비스 또는 스레드 또는 AsyncTask?

timer.scheduleAtFixedRate(new TimerTask() {... 

을 포함하는 서비스를 실행하지만 동시에 나는 정말 앱이 열려있는 경우 그렇게하지 (내 응용 프로그램과 상호 작용하는 방법을 모른다하는 생각 모든 알림이 필요하지만 GUI를 업데이트해야 함). 스레드를 사용할 수 있지만 주 작업이 종료 된 후에도 스레드를 실행할 수 있습니다. 또는 AsyncTask를 사용하여 응용 프로그램 GUI를보다 쉽게 ​​처리 할 수 ​​있습니다. 어떤 솔루션을 사용해야합니까? 나는 단순히 서비스 (첫 번째 솔루션)를 사용해야한다고 생각하고 있었지만, 그것에 대해 너무 확신하지 못했으며, 또한 서비스가 주기적으로 활동과 통신하도록하는 방법이 있는지 모르겠다. 당신의 도움을 주셔서 감사합니다.

답변

0

활동과 통신하는 서비스는 바운드 서비스으로, 이것이 IMO를 사용해야하는 이유입니다.

그러나 활동이 종료되면 서비스가 계속 실행되어야한다고 말합니다. 그러나 서비스가 당신의 활동에 묶여 있고 그 활동이 멈 추면 서비스 역시 죽습니다.

나는 그것에 관해 here를 읽을 것을 권한다.

서비스를 활동에 바인딩 할 수 있는지 확인하고 서비스가 종료되면 바인딩 해제하고 서비스를 독립적으로 계속 실행하십시오.

할 수 없으면 활동이 자체적으로 바인딩 해제되고 서비스가 독립적으로 시작됩니다 (이 아닌 startService).

0

알림을 표시하는 경우 C2DM 메시지를 사용하여 앱과 통신하는 것이 좋습니다. 유일한 것은 앱이 실행되지 않아도 사용자에게 팝업이 표시된다는 것입니다. 스레드/서비스를 사용할 필요가 없습니다.

관련 문제