将服务绑定到广播接收器

9
我有一些注册多个闹钟的Service类。
在我的BroadcastReceiver类中,我希望onReceive()方法调用Service类的某个方法。
然而,我不知道如何将它们绑定在一起。我尝试将BroadcastReceiver设置为内部类,但是我得到了更多错误,并且根本无法触发闹钟。
谢谢。

我找到了一些解决方法,所以这不再相关。但我仍然想知道是否可以实现。我尝试了各种peekSerivce()和使用静态实例字段,但都没有成功。 - Mugen
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=服务应该处理广播消息。

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接