未找到IntentService

时间:2012-03-28 07:30:47

标签: java android broadcastreceiver intentservice

我在LogCat中收到此异常:

Unable to start service Intent { cmp=com.thePackage.me/com.thePackage.c2dm.RegistrationService (has extras) }: not found

这是IntentService。现在进行测试我只是发出一条日志消息

public class RegistrationService extends IntentService {

    public RegistrationService(){
        super("NAME");
    }
    public RegistrationService(String name) {
        super(name);

    }

    @Override
    protected void onHandleIntent(Intent intent) {
        Log.d("RegistrationService", "onHandleIntent INVOKED");
        System.out.println(intent.getDataString());
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        System.out.println(intent.getDataString());
        return super.onStartCommand(intent, flags, startId);
    }

}

我是以这种方式从BroadcastReciever开始此服务

Intent serviceIntent = new Intent(context, RegistrationService.class);
serviceIntent.putExtra("REG_ID", reg_Id);
serviceIntent.putExtra("DEVICE ID", manager.getDeviceId());
context.startService(serviceIntent);

为什么要生成此异常?我是否必须在Manifest

中声明这一点

1 个答案:

答案 0 :(得分:0)

正确,您必须在Manifest文件中声明该服务,即使它不在您的应用程序命名空间中。例如,如果我们想使用Urban Airship Push服务,我们必须声明:

<service android:name="com.urbanairship.push.PushService" />