2011-05-04 3 views
0

들어오는 호출을 수신하는 클래스가 있으므로 응용 프로그램의 UI가 아닌데도 모든 응용 프로그램에 전화를받을 수있는 서비스를 만들고 싶습니다. 이 클래스를 트리거하는 방법 (브로드 캐스트 리시버). 나는 "sendBroadcast"를 사용했고 FC를 가지고있다.이 경우 서비스를 만드는 방법은 무엇입니까?

sendBroadcast(new Intent(context, IncomingCallReceiver.class)); 

감사합니다. 귀하의 경우 나는 다음과 같은 방법 사용합니다에서

+0

m하지 않도록하지만 난 방송 수신기에도 앱이 닫혀 이벤트 ... – Farhan

+0

@Farhan 수신 생각 : 아니, 난 지금 그것을 확인하고 작동하지 않습니다. 어떤 아이디어가이 문제를 해결하는 방법? – androniennn

+0

예 응용 프로그램을 종료 한 경우에도 브로드 캐스트 수신기가 이벤트를받습니다. – Sujit

답변

1

:

  • Service를 작성하고 Activity에서 시작은 (당신은 너무도 서비스를 시작할 수 있습니다 먼저의 시작, 여러 응용 프로그램을 언급).
  • 서비스가 영원히 작동하지 않는지 확인하십시오. 서비스가 더 이상 필요하지 않을 때 서비스를 중지하십시오 (마지막 애플리케이션 완료). 서비스는 활동이 없어도 자발적으로 종료 할 수 있습니다 (stopSelf()). 또한 시스템은 귀하의 서비스를 해지하고 영원히 작동하지 않도록 할 수 있습니다.
  • BroadcastReceiver를 확장하고 서비스 기능 registerReceiver()을 사용하여 모니터링하려는 인 텐트를 등록하는 개인 클래스를 서비스 내에 만듭니다.
  • 원하는 Intent를 받으면 BroadcastReceiver onReceive()에서 일부 서비스 기능을 호출 할 수 있습니다. 예를 들어, 응용 프로그램에서 인식하는 사용자 정의 인 텐트를 사용하여 sendBroadcast()를 수행 할 수 있습니다.
  • 서비스가 중지되면 서비스 기능 unregisterReceiver()을 사용하여 BroadcastReceiver 확장을 등록 취소하십시오.

UPDATE : 활동 내에서 브로드 캐스트 리시버 확장 사용 방법을 보여

+0

이 단계에 대해 안내하는 가이드 링크를 사용해 주시겠습니까? 고맙습니다. – androniennn

+0

@androniennn - 몇 가지 유용한 링크/예를 사용하여 tommorow 아침에 답변을 업데이트하겠습니다. – Zelimir

관련 문제