2010-05-24 7 views
2

BroadcastReceiver 클래스에서 푸시 알림 백그라운드 서비스를 호출하려고하지만 응용 프로그램이 중단됩니다. 코드는 다음과 같습니다BroadcastReceiver에서 백그라운드 서비스 호출

public class AlarmReceiver extends BroadcastReceiver { 

    static int count=1; 

    @Override 
    public void onReceive(Context context, Intent intent) { 

     Intent myIntent=new Intent(context,NotifyService.class); 
     myIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

     context.startActivity(myIntent); 
    } 
} 

매니페스트 항목 :

<receiver android:name=".AlarmReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.BOOT_COMPLETED"/> 
    </intent-filter> 
</receiver> 
<service android:name=".NotifyService"> 
</service> 

오류 :

05-24 15:17:00.042: ERROR/AndroidRuntime(424): Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.android.alarm/com.android.alarm.NotifyService}; have you declared this activity in your AndroidManifest.xml? 

나는 그것이 작동하고 액티비티를 통해이 서비스를 호출하지만 내 목표는 될 때는 이 서비스를 BroadcastReceiver에서 호출하십시오.

답변

4

AlarmReceiverstartService()이 아니라 startActivity()입니다. startService()으로 서비스를 시작합니다. startActivity()으로 활동을 시작하십시오.

또한 서비스는 필요하지 않습니다 (또는 AFAIK 사용) FLAG_ACTIVITY_NEW_TASK.

+0

오 !!! yaa ... CommonsWare ..... 덕분에 이제는 ... – Andy

1

안드로이드에서 푸시 알림에 C2DM을 사용하는 것이 좋습니다 ... 이것이 귀하의 해결책이 될 수 있습니다 ......

관련 문제