Android 从广播接收器调用后台服务
我试图从BroadcastReceiver类调用推送通知后台服务,但我的应用程序崩溃。代码如下: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
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?