Android 从广播接收器调用后台服务

Android 从广播接收器调用后台服务,android,Android,我试图从BroadcastReceiver类调用推送通知后台服务,但我的应用程序崩溃。代码如下: public class AlarmReceiver extends BroadcastReceiver { static int count=1; @Override public void onReceive(Context context, Intent intent) { Intent myIntent=new Intent(context,No

我试图从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>

当我通过活动调用此服务时,它正在工作,但我的目标是从广播接收器调用此服务。

AlarmReceiver
调用的是
startActivity()
,而不是
startService()
。您可以使用
startService()
启动服务;您可以使用
startActivity()
启动活动


此外,服务不需要(或使用AFAIK)
标记活动\u新任务

在Android中使用C2DM进行推送通知是可以的……这可能是您的解决方案

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?