2009-07-17 5 views
1

알람의 BroadcastReceiver의 onReceive를 통해 서비스를 시작하는 데 문제가 있습니까? 내 서비스에는 onCreate 또는 onStart 메서드가 호출되지 않습니다.알람을 통해 안드로이드 서비스가 시작되지 않음

My Alarm의 수신기가 wakelock을 가져오고 context.startService (new Intent (context, FmiDaemon.class))를 호출합니다. (onRecieve 매개 변수 매개 변수를 통해 주어진 컨텍스트), 3 초 기다린 다음 잠금을 해제합니다.

내 서비스에는 onCreate와 onStart의 두 가지 메소드가 있습니다. onCreate가 또 다른 wakelock을 얻으면 onStart의 끝에서 wakelock을 해제하고 "stopSelf"를 호출합니다. 두 가지 방법 모두 데이터를 로그로 보내지 만 절대 호출되지 않으므로 을 호출하지 않습니다.

어디에 문제가 있습니까? 그게 나쁜 "컨텍스트"를 사용할 수 있습니까? onCreate 및 onStart 구현 방법이 잘못 되었습니까?

답변

0

AndroidManifest.xml 파일의 application 태그에 추가하십시오.

1) 수신기 클래스 onReceive의 시작 로그 항목을 추가

<service android:name="com.yourpackagetoyourserviceclass.FmiDaemon"/> 
+0

다음과 같이

2)) 당신의 AndroidManifest.xml에

<receiver android:name="MyBroadcastReceiver" /> 

3) 내 startService를 (수신기 클래스를 추가 보인다 –

1

오래된 질문이지만 경우 다른 사람에서이 문제를 가지고있다. 로그에이 메시지가 표시되지 않으면 알람 설정 권한이 없거나 리시버가 매니페스트 파일에 없습니다. 이미 여전히 작동하지 않았다

Intent newIntent = new Intent(context, MyServiceClass.class); 

context.startService(newIntent);