我有一些服务类,它注册了多个警报。
在我的BroadcastReceiver类中,我希望onReceive () 方法调用Service类的某些方法。
但是,我不知道如何将它们绑定在一起。我试图让BroadcastReceiver成为一个内部类,但后来我遇到了更多错误,根本无法发出警报。
谢谢
我有一些服务类,它注册了多个警报。
在我的BroadcastReceiver类中,我希望onReceive () 方法调用Service类的某些方法。
但是,我不知道如何将它们绑定在一起。我试图让BroadcastReceiver成为一个内部类,但后来我遇到了更多错误,根本无法发出警报。
谢谢
查看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=服务应该处理广播消息。
来自http://developer.android.com/guide/components/bound-services.html
注意:只有活动、服务和内容提供者可以绑定到服务 - 您不能从广播接收器绑定到服务。