2011-04-28 7 views
0

안녕 응용 프로그램에서 여러 가지 서비스를 사용하려고합니다. 서비스 중 하나에서 변경된 값을 가져온 후 일정 기간 후에 서비스를 다시 실행하고 싶습니다. Pls는 핸들러/타이머/브로드 캐스트 리시버를 사용하여이를 구현하는 방법을 안내합니다.처리기를 사용하는 활동 및 서비스

감사

답변

0

다음 페이지는 구체적으로 당신에게 브로드 캐스트 리시버 클래스의 작업 및 스타트 업시 서비스에 대해 설명합니다. http://www.androidenea.com/2009/09/starting-android-service-after-boot.html

는 또한 타이머 기능을 구현 ...하지만 그 방법에 타이머가 정말 빨리하고 에뮬레이터가 응답하지 ... 또는 느린 수 있음을 명심하시기 바랍니다.

이 스레드를 참조하십시오 메시징 부분에 대한

는 ...이 스레드에 주어진 프로그램은 ... ..

Example: Communication between Activity and Service using Messaging

감사합니다, 프로그래머 쿠도 매우 멋진 --Rajesh

1

보류중인 인 텐트를 보내는 AlarmManager를 사용해야합니다. 여러 개의 인 텐트와 브로드 캐스트 수신자를 사용할 수 있습니다. 방송 수신기에서 서비스를 시작할 수 있습니다. 원하는 경우 다른 시간에 또는 함께 여러 서비스를 시작할 수 있습니다.

AlarmManager를 사용하여 반복적 인 알람을 보내거나 서비스 중 하나에서 알람을 사용하고 보류중인 의도에 대해 새 시간을 설정할 수 있습니다.

타이머를 사용하지 마십시오.

이렇게하면 이익은 활동이 활성 상태가 아닐 때 모두 작동한다는 것입니다.

예제와 같이 서비스에 바인딩 할 수 있지만 서비스의 데이터를 작업에 전달하려면 응용 프로그램 개체 또는 단독 개체를 사용할 수 있습니다. 또한 IntentService를 사용하면 자동으로 주 스레드에 대한 작업을 수행합니다. 액티비티와 더 밀접하게 상호 작용해야하는 다른 스레드에서 무언가를하고 싶다면 AsyncTask 또는 Thread를 사용합니다.

관련 문제