9

我有一些服务类,它注册了多个警报。

在我的BroadcastReceiver类中,我希望onReceive () 方法调用Service类的某些方法。

但是,我不知道如何将它们绑定在一起。我试图让BroadcastReceiver成为一个内部类,但后来我遇到了更多错误,根本无法发出警报。

谢谢

4

2 回答 2

6

查看http://developer.android.com/reference/android/content/BroadcastReceiver.html生命周期。BroadcastReceiver 仅用于处理消息。这意味着它的寿命很短,它也是无国籍的。所以你不能绑定任何东西。

无论如何,您可以尝试启动 BroadcastReceiver 的服务表单onReceive(Context context, Intent intent)方法,如下所示:

    public void onReceive(Context context, Intent intent) {
        Intent intent2 = new Intent(context, GCMService.class);
        intent2.putExtras(intent);
        context.startService(intent2);
}

然后 a=服务应该处理广播消息。

于 2013-06-20T00:44:53.027 回答
3

来自http://developer.android.com/guide/components/bound-services.html

注意:只有活动、服务和内容提供者可以绑定到服务 - 您不能从广播接收器绑定到服务。

于 2015-11-29T13:48:58.340 回答