服务绑定到广播接收器(Bind Service to BroadcastReceiver)

2019-07-21 12:00发布

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

在我的广播接收器类,我想的onReceive()方法来调用服务类的一些方法。

不过,我不知道怎样才能将它们绑定在一起。 我试图使广播接收器的内部类,但后来我得到了更多的错误,无法触发报警的。

谢谢

Answer 1:

看看http://developer.android.com/reference/android/content/BroadcastReceiver.html生命周期。 广播接收器仅用于处理消息创建。 这意味着,它的寿命很短,蚂蚁也是无状态的。 所以,你不能绑定任何东西给它。

反正你可以尝试启动服务形式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 =服务应该处理广播消息。



Answer 2:

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

注:只有活动,服务和内容提供商可以绑定到服务-你不能绑定到从广播接收机的服务。



文章来源: Bind Service to BroadcastReceiver